sayfa1 den ve sayfa2 den veri cekmek

Katılım
11 Ocak 2021
Mesajlar
30
Excel Vers. ve Dili
Excel365
merhaba,
asagidaki kodlar ile sayfa 1 den veri almaktayim. sayfa 1 den veya sayfa 2 den ayni islemi yapmak istiyorum. sayfa 2 dende yapabilmem icin kodda nasil bir degisiklik yapmam gerekiyor. tesekkürler.




Sub aktar()
Dim isim, dosya, yol As String, Son As Long ', dsyad As String
Dim i As Long, k As Byte, sat As Long, j As Byte
Sheets("Günlük").Select
Range("B12:AN22").ClearContents
isim = UCase(Replace(Replace(Range("F1").Value, "ý", "I"), "i", "Ý"))
yol = "C:\IFS\"
If isim = "" Then
MsgBox "Rapor Çýkarýlmadý..!!" & vbLf & "isim boþ olamaz..!!", vbCritical, "UYARI"
Range("F1").Select
Exit Sub
End If
sat = 12
For j = 1 To 10
dosya = UCase(Replace(Replace(Range("C" & j).Value, "ý", "I"), "i", "Ý")) & ".xlsm"
If Cells(j, "C").Value = "" Then GoTo atla
If Dir(yol & dosya) = "" Then
MsgBox "[ " & dosya & " ] Dosya Yolu doðru deðil veya dosya yok..!!", vbCritical, "UYARI"
GoTo atla
End If
Son = Application.ExecuteExcel4Macro("COUNTA('" & yol & "[" & dosya & "]Sayfa1'!C1)")
Son = Son + 5
If Son < 6 Then
MsgBox "Bu dosyada veri yok..!!", vbCritical, "UYARI"
GoTo atla
End If
For i = 6 To 39
dsyad = Application.ExecuteExcel4Macro("'" & yol & "[" & dosya & "]Sayfa1'!R" & i & "C1")
dsyad = UCase(Replace(Replace(dsyad, "ý", "I"), "i", "Ý"))
If isim = dsyad Then
Cells(sat, "A").Value = sat - 11
Cells(sat, "B").Value = dosya
Cells(sat, "C").Value = dsyad
For k = 3 To 39
Cells(sat, k + 1).Value = Application.ExecuteExcel4Macro( _
"'" & yol & "[" & dosya & "]Sayfa1'!R" & i & "C" & k)
Next k
sat = sat + 1
End If
Next i
atla:
Next j
MsgBox "Isleminiz tamamlanmistir!!", vbOKOnly + vbInformation, Application.UserName
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,533
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Kod içinde mesela aşağıdaki satırda sayfa adı geçiyor.. (Bunun gibi benzer satırlar var...)

Son = Application.ExecuteExcel4Macro("COUNTA('" & yol & "[" & dosya & "]Sayfa1'!C1)")

Buradaki sayfa adını bir değişkene atayarak dilediğiniz sayfadan veri çekebilirsiniz..

Eğer aynı anda birden fazla sayfadan veri çekmek istiyorsanız bunu dizi olarak tanımlayarak döngü içinde kullanabilirsiniz.


Örnek Döngü;

C++:
Sh = Array("Sayfa1", "Sayfa2")
For X = 0 To Ubound(Sh)
     Son = Application.ExecuteExcel4Macro("COUNTA('" & yol & "[" & dosya & "]" & Sh(X) & "'!C1)")
Next
 
Katılım
11 Ocak 2021
Mesajlar
30
Excel Vers. ve Dili
Excel365
Korhan hocam cok tesekkür ederim verdiginiz örnek icin, saglicakla kalin.
 
Üst