İçindekiler
İçinde Microsoft Excel , VBA Makroları çok çeşitli sorunları kolayca çözebilir. Çalışma kitabını açmadan başka bir çalışma kitabından veri kopyalamak istiyorsak, bunu Excel VBA Bu makalede, şunları öğreneceksiniz Excel VBA başka bir çalışma kitabındaki verileri açmadan kopyalamak için.
Alıştırma Çalışma Kitabını İndirin
Çalışma kitabını indirebilir ve onlarla pratik yapabilirsiniz.
Başka Bir Çalışma Kitabı Verilerini Kopyala.xlsmExcel VBA ile Açmadan Başka Bir Çalışma Kitabından Veri Kopyalamanın 3 Farklı Yolu
Bazen önceki bir çalışma kitabındaki verilere ihtiyaç duyarız. Acelemiz varsa ve çalışma kitabını açmadan verilere hemen ihtiyacımız varsa Excel VBA Excel VBA ile verileri diğer çalışma kitaplarından hızlı bir şekilde kopyalayabiliriz, bunun için sadece söz konusu çalışma kitabının konumunu bilmemiz gerekir.
Verileri kopyalamak için çalışma kitabı adını kullanacağız Ürün_Detayları . ve veri aralığını kopyalamak istiyoruz ( B4:E10 Kopyalamak istediğimiz veri kümesi bazı ürünleri, bunların satış fiyatlarını, mal maliyetlerini ve brüt kar marjlarını içerir. Başka bir çalışma kitabından veri kopyalamak için farklı ölçütlere bakalım.
1. Excel VBA ile Açmadan Başka Bir Çalışma Kitabından Bir Sayfa Verisini Kopyalama
Bir sayfadaki verileri şu şekilde kopyalayabiliriz VBA Bunun için aşağıdaki adımları izlememiz gerekiyor.
ADIMLAR:
- İlk olarak, şu adrese gidin Geliştirici şeridinden sekmesini seçin.
- Bundan sonra, üzerine tıklayın Visual Basic açmak için Visual Basic Düzenleyicisi .
- Açmanın başka bir yolu Visual Basic Düzenleyicisi sadece basmaktır Alt + F11 .
- Veya sayfaya sağ tıklayın, ardından Kodu Görüntüle .
- Şimdi, şunları yazın VBA kodu aşağıda.
VBA Kodu:
Sub Copy_Data_from_Another_Workbook() Dim wb As Workbook Dim newwb As Workbook Dim rn1 As Range Dim rn2 As Range Set wb = Application.ActiveWorkbook With Application.FileDialog(msoFileDialogOpen) .Filters.Clear .Filters.Add "Excel 2007-13", "*.xlsx; *.xlsm; *.xlsa" .AllowMultiSelect = False .Show If .SelectedItems.Count> 0 Then Application.Workbooks.Open.SelectedItems(1) Set newwb = Application.ActiveWorkbook Set rn1 = Application.InputBox(prompt:="Select Data Range", Default:="A1", Type:=8) wb.Activate Set rn2 = Application.InputBox(prompt:="Select Destination Range", Default:="A1", Type:=8) rn1.Copy rn2 rn2.CurrentRegion.EntireColumn.AutoFit newwb.Close False End If End With End SubEnd With End Sub
- Son olarak, kodu çalıştırmak için Alt Çalıştır düğmesine basın, diğer yandan klavye kısayoluna F5 tuşuna basarak kodu çalıştırın.
NOT: Kodu değiştirmenize gerek yok. Kodu kopyalayıp yapıştırmanız yeterli.
- Kodu çalıştırarak Dosya Açma penceresi bilgisayarınızdan görünecektir.
- Bundan sonra, veri toplamak istediğiniz çalışma kitabına tıklayın.
- Ardından, şuraya tıklayın TAMAM. Düğme.
- Şimdi, aralığın üzerine sürükleyerek kaynak dosyadaki verileri seçin B5:E10 ve ardından TAMAM. .
- Veri aralığını seçtikten sonra, verileri yerleştirmek istediğiniz hedef aralığı seçin.
- Ve, tıklayın TAMAM. .
- Sonunda, bu işlem kaynak dosyayı kapatacak ve veriler hedef dosyaya kopyalanacaktır.
Daha fazlasını okuyun: Excel VBA: Aralığı Başka Bir Çalışma Kitabına Kopyalama
Benzer Okumalar
- VBA Kullanarak Panodan Excel'e Nasıl Yapıştırılır
- Excel'de Kopyala ve Yapıştır'ı Makrolar Olmadan Devre Dışı Bırakma (2 Kriterle)
- Excel'de Gizli Satırlar Hariç Tutularak Nasıl Kopyalanır (4 Kolay Yöntem)
- Satırları Ölçütlere Göre Başka Bir Çalışma Sayfasına Kopyalamak için Excel VBA
- Excel'de Biçimlendirme Olmadan Yalnızca Değerleri Yapıştırmak için VBA Nasıl Kullanılır
2. Excel'de Açmadan Başka Bir Çalışma Kitabından Veri Aralığı Kopyalamak için VBA
Kullanarak VBA kodunu kullanarak, bir veri aralığından veri kopyalayabiliriz. Bunu gerçekleştirmek için aşağıdaki adımları izlemeliyiz.
ADIMLAR:
- Başlamak için şu adrese gidin Geliştirici sekmesine tıklayın.
- İkinci olarak Visual Basic Düzenleyicisi üzerine tıklayarak Visual Basic veya tuşuna basarak Alt + F11 .
- Ya da sayfaya sağ tıklayın ve Kodu Görüntüle açmak için Visual Basic Düzenleyicisi .
- Bundan sonra, aşağıdakileri yazın VBA kodu Orada.
VBA Kodu:
Sub CollectData() Dim rgTarget As Range Set rgTarget = ActiveSheet.Range("B2:E10") 'kopyalanan verilerin nereye konulacağı. rgTarget.FormulaArray = "='D:\[Product_Details.xlsx]Sheet1'!$B$4:$E$10" rgTarget.Formula = rgTarget.Value End Sub
- Burada, kodu kullanarak çalıştırın Koşmak Alt veya klavye kısayoluna basın F5 kodu çalıştırmak için.
NOT: Kodu değiştirmenize gerek yoktur, tek yapmanız gereken kaynak verilerinize göre aralığı değiştirmektir.
- Ve son olarak, veriler artık başka bir çalışma kitabından etkin çalışma kitabına kopyalanır.
Daha fazlasını okuyun: Bir Çalışma Sayfasından Diğerine Kopyalama ve Yapıştırma Makrosu (15 Yöntem)
3. Komut Düğmesini Kullanarak Açmadan Başka Bir Çalışma Kitabından Veri Kopyalamak için Excel VBA
üzerindeki komut düğmesini kullanarak başka bir çalışma kitabından veri kopyalayabiliriz. VBA Bunu başarmak için aşağıda özetlenen adımları izlemeliyiz.
ADIMLAR:
- İlk olarak, bir Komut Düğmesi adresine gidin. Geliştirici sekmesi.
- İkinci olarak Ekleme açılır menüsü.
- Üçüncü olarak, aşağıdaki Komut Düğmesi .
- Biz koyduk Ürün hücre üzerinde A1 kaynak dosya sayfamızın adı olduğu için. Komut Düğmesi Şimdi tabloyu oluşturduk, sadece başka bir çalışma kitabında bulunan verilere ihtiyacımız var.
- Aynı şekilde, şu adrese gidin Geliştirici sekmesine tıklayın.
- Ardından, şuraya tıklayın Visual Basic veya basın Alt + F11 başlatmak için Visual Basic Düzenleyicisi .
- Ayrıca şu adresi de açabilirsiniz Visual Basic Düzenleyicisi sayfasına sağ tıklayarak ve Kodu Görüntüle .
- Şimdi, yaz VBA Kod aşağı.
VBA Kodu:
Private Sub CommandButton1_Click() Dim sourceworkbook As Workbook Dim currentworkbook As Workbook Set currentworkbook = ThisWorkbook Set sourceworkbook = Workbooks.Open("D:\Products_Details.xlsx") sourceworkbook.Worksheets("Product").Range("B5:E10").Copy currentworkbook.Activate currentworkbook.Worksheets("Sheet3").Activate currentworkbook.Worksheets("Sheet3").Cells(4, 1).Select ActiveSheet.Pastesourceworkbook.Close Set sourceworkbook = Nothing Set currentworkbook = Nothing ThisWorkbook.Activate Worksheets("Sheet3").Activate Worksheets("Sheet3").Range("A2").Select End Sub
- Ardından, tuşuna basarak kodu kaydedin Ctrl + S .
NOT: Kodu kopyalayabilirsiniz, sadece dosya yolunu ve veri aralığını değiştirmeniz gerekir.
- Ve son olarak, eğer CommandButton1 bu, verileri başka bir çalışma kitabından açmadan kopyalayacaktır.
Daha fazlasını okuyun: Kriterlere Göre Verileri Bir Çalışma Kitabından Diğerine Kopyalamak için Makro
Sonuç
Yukarıdaki kriterler, başka bir çalışma kitabından verileri açmadan kopyalamak için yönergelerdir Excel VBA Umarım bu size yardımcı olur! Herhangi bir sorunuz, öneriniz veya geri bildiriminiz varsa lütfen yorum bölümünde bize bildirin. Veya aşağıdaki diğer makalelerimize göz atabilirsiniz ExcelWIKI.com Blog!