makro ile farklı excel dosyaları arası geçiş

Katılım
19 Eylül 2023
Mesajlar
19
Excel Vers. ve Dili
2016-türkçe
Merhaba ben makro konusunda çok yeniyim. Bu sebeple bu forumu keşfedip size danışmak istedim. Benim A ve B isimli iki excel dosyam var. Ben B dosyasının içinden bazı verilerin A dosyasına gelmesini istiyorum. A excelindeki D13 hücresine B exceli 1 nolu çalışma sayfasından bir veri, D14 hücresine aynı bu şekilde devam edecek. Alt satıra geçtiğimde ise D14 hücresine B exceli sayfa 2 den veri çekecek şekilnde. Bunu makroda işlemi kaydederek yapıyorum aşağıdaki gibi
( Range("D13").Select
ActiveCell.FormulaR1C1 = "=[export.xlsm]GV_31deg.data!R226C2").

Ancak B dosyasında birden fazla çalışma sayfası var ve kod yazmayı bilmediğimden bu işlemi çoğaltamıyorum, hepsi için kayıtlı kodu sürdürürsem de sayfalarca uzunlukta kaydedilmiş kodum oluyor. Bunun bir kısa yolu var mıdır acaba?
Diğer bir sorum da ben VBA da kendimi geliştirmek istiyorum bana yol göstermeniz mümkün müdür, nereden başlasam acaba?
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,867
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
Formumuza hoş geldiniz.
Yapmak istediğinizi; bilgilerinizin gerçek olmadığı örnek bir dosya ile manuel bir şekilde yaparak belirtirseniz daha çabuk yanıtlar alırsınız.
Altın üye olmadığınız için hazırlayacağınız örnek dosyayı dosya yükleme sitelerinden birine yükleyerek Linki burada paylaşabilirsiniz.
 
Katılım
19 Eylül 2023
Mesajlar
19
Excel Vers. ve Dili
2016-türkçe
Hızlı dönüşünüz için çok teşekkür ederim. Aşağıdaki linke yükleme yaptım. A dosyasına B den veri çekiyoruz. Ancak bazı verileri.

 
Katılım
19 Eylül 2023
Mesajlar
19
Excel Vers. ve Dili
2016-türkçe
Hocam çok teşekkür ederim. Bir sorum daha olacaktı mümkün müdür acaba?
A exceli C sütununda yazan Sonuç 1, Sonuç 2 vs bunlar B excelindeki her bir çalışma sayfasının adı. Bunları da bu makronun içine eklesem, o isimleri de otomatik getirebiliyor mu?
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,867
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Hocam çok teşekkür ederim. Bir sorum daha olacaktı mümkün müdür acaba?
A exceli C sütununda yazan Sonuç 1, Sonuç 2 vs bunlar B excelindeki her bir çalışma sayfasının adı. Bunları da bu makronun içine eklesem, o isimleri de otomatik getirebiliyor mu?
Selamlar

kodlardaki ;
Application.DisplayAlerts=False den sonrasına

Kod:
Range("C5") = "Sonuç 1"
Range("C6") = "Sonuç 2"
Range("C7") = "Sonuç 3"
Range("C8") = "Sonuç 4"
yapıştırıp deneyiniz
 
Katılım
19 Eylül 2023
Mesajlar
19
Excel Vers. ve Dili
2016-türkçe
Hocam onu yaparsam Sadece bu isimleri yazmaz mı? Ben çalışma sayfası adını değiştirirsem oraya otomatik sayfanın adının gelmesini istiyorum
 
Katılım
19 Eylül 2023
Mesajlar
19
Excel Vers. ve Dili
2016-türkçe
Hocam sizi de çok uğraştırdım ama malesef site açılmıyor 403 hatası veriyor
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,867
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Deneyiniz

Dosyayı Tekrar yükledim indiremezseniz, aşağıdaki işlemleri yaparsınız

'Range("C5") = "Sonuç 1"
'Range("C6") = "Sonuç 2"
'Range("C7") = "Sonuç 3"
'Range("C8") = "Sonuç 4"

yukarıdaki kodların yerine; Aşağıdaki kodları yapıştırıp deneyiniz

Kod:
Range("C5:J8").ClearContents
    Workbooks.Open Filename:=ThisWorkbook.Path & "\B.xlsx"
      i = 5
            For Each ws In ActiveWorkbook.Sheets
                        Workbooks("A").Worksheets("Sayfa1").Cells(i, "C") = ws.Name
                        i = i + 1
             Next ws
    Windows("B.xlsx").Close
 
Son düzenleme:
Katılım
19 Eylül 2023
Mesajlar
19
Excel Vers. ve Dili
2016-türkçe
Teşekkür ederim açıldı yalnız şöyle oldu:
yukarıdaki kodları silip yerine sizin gönderdiklerinizi yapıştırdım. Denemek için Sonuç4 isimli sheet adını değiştirdim. Ancak komutlarda onun adı Sonuç 4 olarak kaldığından hata verdi.
Range("D8").Select
ActiveCell.FormulaR1C1 = "=[B.xlsx]Sonuç4!R2C4"
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,867
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
Siz makro kaydet yöntemi ile yaptığınızdan
=[B.xlsx]Sonuç4!R2C4
kısmı
=[B.xlsx]Sonuç 4!R2C4
olarak değiştirmeniz gerekir
 
Katılım
19 Eylül 2023
Mesajlar
19
Excel Vers. ve Dili
2016-türkçe
Hocam peki bunun bir yolu yok mu yani şöyle bir şey diyemiyor muyum örneğin active sheet de E3 ü kopyala, active sheet ten bir sonraki sheette E3 ü kopyala vs şeklinde.
Bir referans sheet yapsam ilk sheet olsa mesala ona i=1 olarak tanımlasam. Bir sonrakini tanımlamak için i=i+1 desem sizin yaptığınız gibi. çok karışık anlattım farkındayım ama bilmediğim için mazur görün lütfen
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,867
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
B adlı çalışma kitabı içindeki sayfa isimlerini değiştirerek deneyiniz.
Özür dilerim. Aşağıdaki linkden indirebilirsiniz.

İndir
 
Son düzenleme:

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,867
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
bir önceki mesajımı güncelledim
 
Katılım
19 Eylül 2023
Mesajlar
19
Excel Vers. ve Dili
2016-türkçe
çok çok teşekkür ederim. Sayenizde hem işimi, hallettim hem de yeni birçok komut öğrendim. Minnettarım.
 
Üst