• DİKKAT

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

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
 
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
 
Korhan hocam cok tesekkür ederim verdiginiz örnek icin, saglicakla kalin.
 
Geri
Üst