Vba: başka bir çalışma kitabından veri nasıl çıkarılır
Başka bir çalışma kitabından veri ayıklamak için VBA’da aşağıdaki sözdizimini kullanabilirsiniz:
SubExtractData ()
'turn off screen updates to make this run faster
Application.ScreenUpdating = False
'specify workbook we want to extract data from
Set wb = Workbooks.Open(" C:\Users\bobbi\OneDrive\Desktop\my_data.xlsx ")
'extract all data from Sheet1 and paste as new sheet in current workbook
wb.Sheets(" Sheet1 ").Copy After:=ThisWorkbook.Sheets(1)
'do not save any changes to workbook we extract data from
wb.Close SaveChanges:=False
'turn screen updating back on
Application.ScreenUpdating = True
End Sub
Bu özel makro, aşağıdaki konumda bulunan my_data.xlsx adlı çalışma kitabını açar:
C:\Kullanıcılar\Bob\Desktop\my_data.xlsx
Daha sonra Sayfa1 adlı sayfadaki tüm verileri bu çalışma kitabına kopyalar ve o anda aktif olan çalışma kitabımızın ilk sayfasından hemen sonraki sayfaya kopyalar.
Not : Application.ScreenUpdating = False satırı, VBA’ya daha hızlı çalışması için bu işlemi arka planda çalıştırmasını söyler.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: VBA kullanarak başka bir çalışma kitabından veri çıkarma
Diyelim ki aşağıdaki Excel çalışma kitabını açtık ve onu görüntülüyoruz:
Şimdi kapalı ancak aşağıdaki verileri içeren başka bir çalışma kitabımızın olduğunu varsayalım:
Bu kapalı çalışma kitabının 1. sayfasındaki verileri çıkarmak ve şu anda açık olan çalışma kitabımızın ilk sayfasından hemen sonra yeni bir sayfaya yapıştırmak için aşağıdaki makroyu kullanabiliriz:
SubExtractData ()
'turn off screen updates to make this run faster
Application.ScreenUpdating = False
'specify workbook we want to extract data from
Set wb = Workbooks.Open(" C:\Users\bobbi\OneDrive\Desktop\my_data.xlsx ")
'extract all data from Sheet1 and paste as new sheet in current workbook
wb.Sheets(" Sheet1 ").Copy After:=ThisWorkbook.Sheets(1)
'do not save any changes to workbook we extract data from
wb.Close SaveChanges:=False
'turn screen updating back on
Application.ScreenUpdating = True
End Sub
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
Kapatılan çalışma kitabındaki verilerin çıkarıldığını ve yeni bir sayfa olarak şu anda etkin olan çalışma kitabımıza yapıştırıldığını unutmayın.
Yeni sayfayı, geçerli sayfayla aynı olacak şekilde yeniden adlandırmaktan çekinmeyin.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA: Bir çalışma kitabındaki sayfaların sayısı nasıl sayılır?
VBA: birden çok sütun nasıl eklenir
VBA: birden fazla satır nasıl eklenir