• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Aktif sayfadan diğer kitabın aktif sayfasına veri aktarma (Her ikiside açık)

Katılım
21 Ocak 2013
Mesajlar
331
Excel Vers. ve Dili
2003 Türkçe
Merhabalar

Her ikiside açık olduğu halde.
"Veri" adlı kitabın aktif sayfasından
"Data" adlı kitabın aktif sayfasına veri aktarmak istiyorum.

"Data" adlı kitap "Veri" kitabının sağında (bize göre) konumlanmış olacak.
(Verinin aktarılacağı kitabın/sayfasının adı kodun içinde geçmeyecek)

Değerli uzmanlarımızın yardımını bekliyorum.
 

Ekli dosyalar

Son düzenleme:
Sn Bora K
Dosyaların açılış sırasına göre
worksheets(1)
gösterimi ilk açılan dosyaya referans olur.
worksheets(1).shets(1) de
bu dosyanın sayfalar sekmesindeki en soldaki sayfaya referans verir.
 
İlk açılan Dosyanın Data.xls olduğunu varsayarsak kodlar şöyle
Kod:
 Workbooks(2).Sheets(1).Range("B6:F8").Copy

   Workbooks(1).Sheets(1).Range("d4").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
 
Merhabalar
Sayın Çeri

Hoşgörünüz lütfen yazdıklarınızı tam olarak anlayamadım.
Dosyalar bu vaziyette iken kodun yapılma durumu yokmu?
Örnek dosyalar üzerinden anlatabilrmisiniz lütfen.
Tam olarak anlarsam duruma göre değişikliğe gidebilir.
 
İki dosyada açık olacağını yazmışsınız;
İlk önce veri.xls yi açıp sonra data.xls yi açmışsanız WorkBooks(1) Veri.xls ye
İlk önce data.xls yi açıp sonra veri.xls yi açmışsanız WorkBooks(1) data.xls ye
referans verir. yani dosyaların açılış sırasına göre durum değişir.
Dosya ismini kodlarda geçirmemek istememenize çözüm olduğu için böyle oluyor.
 
Vaz geçtim, aşağıdaki kod daha esnek Yalnız sadece bu iki excel dosyası açık olması gerekiyor başka bir excel dosyası açık olmamalı.
Kod:
If Workbooks(1).Name = "veri.xls" Then
DosyaAdı = Workbooks(2).Name
Else
DosyaAdı = Workbooks(1).Name
End If
 Workbooks("veri.xls").Sheets(1).Range("B6:F8").Copy

   Workbooks(DosyaAdı).Sheets(1).Range("d4").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
 
Sayın Çeri
Alakanız için çok teşekkür ederim.

Kodu başka kodlarla beraber kullanmayı planlıyorum.
"Veri" dosyasından buton yardımı ile tetiklenecek şekilde ayarlayabilirmisiniz acaba
mümkünatı varmıdır?

Birde sizden sonra dosyayı güncellimiş idm siz göremediniz.
B8:F8 aralığınıda G4 e yapıştıracak.
 
Tekrardan teşekkür ederim
Sayın Üstad.

Son olarak aşağıdaki kısımda D4 hücresi şayet dolu ise bir sonraki sütuna yapıştır
şeklinde değişiklik yapabilirmiyiz acaba?

Kod:
Workbooks("veri.xls").Sheets(1).Range("B6:F6").Copy
Workbooks(DosyaAdı).Sheets(1).Range("d4").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
 
Sn Bora K
Veri sayfasındaki kodları aşağıdaki kodlarla değiştirin
Kod:
If Workbooks(1).Name = "veri.xls" Then
DosyaAdı = Workbooks(2).Name
Else
DosyaAdı = Workbooks(1).Name
End If
If Workbooks(DosyaAdı).Sheets(1).Range("d4") <> "" Then
aa = "e4"
Else
aa = "d4"
End If
 Workbooks("veri.xls").Sheets(1).Range("B6:F6").Copy
   Workbooks(DosyaAdı).Sheets(1).Range(aa).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
   Workbooks("veri.xls").Sheets(1).Range("b8:f8").Copy
   Workbooks(DosyaAdı).Sheets(1).Range("g4").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
 
Sayın Çeri.

Saolasınız.
Paylaşımınız için çok çok
teşekkür ederim.
 
Geri
Üst