Anasayfa » VB.NET Dersler ve Örnekler » VB.NET İle Excel’de Kopyalama ve Taşıma İşlemleri

VB.NET İle Excel’de Kopyalama ve Taşıma İşlemleri

Kopyalama ve taşıma işlemlerinde şu metodlar kullanılabilir:

 

Hücre içeriğini kopyalamak için

Excelnesnesi.Range(“Kaynak Sütun:Kaynak Satır”).Copy(Excelnesnesi.Range(“Hedef Sütun :Hedef Satır”))

Şeklinde bir yöntem kullanılır.

Hücre içeriğini taşımak için

Excelnesnesi.Range(“Kaynak Sütun:Kaynak Satır”).Cut(Destination:= Excelnesnesi.Range (“Hedef Sütun :Hedef Satır”))

Şeklinde bir yöntem kullanılır.

 

İşlemler bittikten sonra hafızayı temizlemek için

Excelnesnesi.CutCopyMode = False

Şeklinde bir komut satırı kullanılır.

 

Hücre, satır, sütun kopyalama ve taşıma işlemlerine dair örnek uygulama yapalım Form üzerine bu işlemler için kullanacağımız cmdhucrekopyala, cmdsatirkopyala, cmdsutunkopyala, cmdsayfayakopyala, cmdhucretasi adıyla 5 adet komut butonu ekliyoruz. Kodumuz da şu şekilde olacak:

 

Public Class Form1
    Dim xl
    'Excell nesnesi tanımlıyoruz
    Dim range
    'Range nesnemizi tanımlıyoruz
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs)Handles Me.Load
        'Excel nesnesini oluşturuyoruz
        xl = CreateObject("Excel.Application")
        'Yeni bir çalışma kitabı ekliyoruz
        xl.Workbooks.add()
        'Excel sayfasını görüntülüyoruz
        xl.application.visible = True
        '1 nolu çalışma sayfasını aktif ediyoruz
        xl.worksheets(1).Activate()
        'A1 hücresine değer yazıyoruz
        xl.cells.Range("$A$1") = "15"
        xl.cells.Range("$A$2") = "20"
        xl.cells.Range("$B$1") = "25"
        xl.cells.Range("$B$2") = "30"
    End Sub
    Private Sub satirkopyala_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles satirkopyala.Click
        '1 nolu satırı 4 nolu satıra kopyaladık
        xl.Range("1:1").Copy(xl.Range("4:4"))
    End Sub

    Private Sub hucrekopyala_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles hucrekopyala.Click
        'A1 hücresini E4 hücresine kopyaladık
        xl.Range("$A$1").Copy(xl.Range("$E$4"))
    End Sub

    Private Sub sutunkopyala_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles sutunkopyala.Click
        'A sütununu F sütununa kopyaladık
        xl.Range("A:A").Copy(xl.Range("F:F"))
    End Sub

    Private Sub hucretasi_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles hucretasi.Click
        'A1 ve B1 hücrelerini keserek D1 hücresine taşıyoruz
        xl.range("A1" & ":B" & 1).Cut(Destination:=xl.range("D" & 1))
        'clipboard'u temizleyelim
        xl.CutCopyMode = False
    End Sub

    Private Sub cmdsayfayakopyala_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles cmdsayfayakopyala.Click
        Dim i
        '1 nolu satırdaki 10 sütun içerisinde arama yaparak hücre
        ‘içerisindeki değer 10'dan büyük ise 2 nolu çalışma
        ‘sayfasına kopyalıyor
        For i = 1 To 10
            If CInt(xl.cells(i, 1).value) > 10 Then
                xl.rows(i & ":" & i).copy(xl.worksheets(2).range(i & ":" & i))
            End If
        Next i
    End Sub
End Class

Cevapla

E-posta adresiniz yayınlanmayacak. Gerekli alanlar işaretlenmelidir *

*