• DİKKAT

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

Verileri dosyalardan alınması hk.

Merhaba
Örneğinize göre "veri alınacak dosya" "C" sütununda olupta; "anasayfa" da olmayan rakam yok ise;
aşağıdaki gibi olabilir:
Kod:
 [SIZE="2"]Private Sub CommandButton1_Click()
On Error Resume Next
DOSYA = [COLOR="RoyalBlue"]ThisWorkbook.Path[/COLOR] & "\" & "[COLOR="Blue"]veri alınacak dosya[/COLOR]" & ".xlsx"
Set Aç = New Excel.Application
Aç.Workbooks.Open DOSYA
Set hz = Aç.Workbooks(Dir(DOSYA))
Set hzs = hz.Sheets("[COLOR="Blue"]Sayfa2[/COLOR]")
x = hzs.Cells(Rows.Count, "C").End(3).Row
If Err > 0 Then MsgBox "Bir hata oluştu": GoTo çık
For a = 1 To x
If IsNumeric(hzs.Cells(a, "C")) = True Then
Set r = [A:A].Find(hzs.Cells(a, "C").Text, LookIn:=xlValues, Lookat:=xlWhole)
If Not r Is Nothing Then Range("C" & r.Row & ":D" & r.Row).Value = hzs.Range("H" & a & ":I" & a).Value
End If
If Err > 0 Then MsgBox "Bir hata oluştu": GoTo çık
Next
çık:
hz.Close SaveChanges:=False
Aç.Quit
Set Aç = Nothing: Set hz = Nothing
End Sub[/SIZE]
 
Merhaba,

Üstad, kodları çalıştırdığım zaman veri alınacak dosyada yer alan sayfa2'deki veriler gelmedi
 
Merhaba,

Verileri (yeni) diğer dosyalardan alırken, eskisinin altında yer alıyor, ek dosyadaki gibi, onu önlemek adına kodlarda nasıl değişiklik yapabiliriz.
Merhaba
Verilerin ekleneceği dosyadaki "A" sütunu kodları verilerin geleceği dosyadakilerle aynı ise;
"A2: D" aralığını temizleyen kodlar ekleyelim.
Kod:
[SIZE="2"]Private Sub Command[COLOR="Blue"]Button2[/COLOR]_Click()
[COLOR="Blue"]Range("A2:D" & Rows.Count) = Empty[/COLOR]
On Error Resume Next
DOSYA = ThisWorkbook.Path & "\" & "[COLOR="Blue"]veri alınacak dosya[/COLOR]" & ".xlsx"
Set Aç = New Excel.Application
Aç.Workbooks.Open DOSYA
Set hz = Aç.Workbooks(Dir(DOSYA))
Set hzs = hz.Sheets("Sayfa2")
x = hzs.Cells(Rows.Count, "C").End(3).Row
i = Cells(Rows.Count, "A").End(3).Row + 1
Cells(i, 1).Select
If Err > 0 Then MsgBox "Bir hata oluştu": GoTo çık
Range("A" & i & ":A" & i + x - 4).Value = hzs.Range("C4:C" & x).Value
Range("C" & i & ":D" & i + x - 4).Value = hzs.Range("H4:I" & x).Value
çık:
hz.Close SaveChanges:=False
Aç.Quit
Set Aç = Nothing: Set hz = Nothing
End Sub[/SIZE]
 
Geri
Üst