• DİKKAT

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

kodda çözemediği yer

Katılım
1 Şubat 2011
Mesajlar
134
Excel Vers. ve Dili
excel 2007
İyi akşamlar arkadaşlar. Bir dosyadan aşağıdaki kod ile veri çekmek istiyorum. Ancak her bir veri için tek tek dosya seçmemi istiyor. Halbuki dosya aynı tek bir dosya. Nasıl düzenleyebiliriz bu kodu?

Option Explicit

Sub VERİ_AL()
Dim Satır As Long, Sütun As Byte, Son_Satır As Long, Son_Sütun As Byte

Son_Satır = ExecuteExcel4Macro("CountA('" & ThisWorkbook.Path & "\[Kitap1.xls]Sayfa1'!C1)")
Son_Sütun = ExecuteExcel4Macro("CountA('" & ThisWorkbook.Path & "\[Kitap1.xls]Sayfa1'!R1)")

Range(Cells(1, 1), Cells(Son_Satır, Son_Sütun)).ClearContents

For Satır = 1 To Son_Satır
For Sütun = 1 To Son_Sütun
Cells(Satır, Sütun) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[Kitap1.xls]Sayfa1'!R" & Satır & "C" & Sütun & "")
Next
Next

MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Verilerin çekildiği "Kitap1.xls" dosyasının, kodun çalıştırıldığı Excel dosyası ile aynı klasörde olması gerekir...

.
 
Verilerin çekildiği "Kitap1.xls" dosyasının, kodun çalıştırıldığı Excel dosyası ile aynı klasörde olması gerekir...

.
İkisi de aynı klasörde duruyor. ondan yana sıkıntı yok. Sorun veri çekeceğimiz dosyada 10 tane hücrede veri varsa dosya yolunu 10 defa soruyor. Bir kere sorup geçsin.
 
Verileri alacağınız dosyanın adı Kitap1.xls ve sayfanın adı Sayfa1 ise, sorun olmaması gerekir.

.
 
Son tahminim, veri aldığınız dosya ile ilgili.....

Söz konusu Kitap1.xls dosyasını xlsx olarak kaydedip, kodu tekrar dener misiniz ?

Aşağıdaki kodda görüldüğü gibi, orjinal kodlarınızdaki Kitap1.xls yerine Kitap1.xlsx olarak değiştirin....

C#:
Sub VERİ_AL()
Dim Satır As Long, Sütun As Byte, Son_Satır As Long, Son_Sütun As Byte

Son_Satır = ExecuteExcel4Macro("CountA('" & ThisWorkbook.Path & "\[Kitap1.xlsx]Sayfa1'!C1)")
Son_Sütun = ExecuteExcel4Macro("CountA('" & ThisWorkbook.Path & "\[Kitap1.xlsx]Sayfa1'!R1)")

Range(Cells(1, 1), Cells(Son_Satır, Son_Sütun)).ClearContents

For Satır = 1 To Son_Satır
For Sütun = 1 To Son_Sütun
Cells(Satır, Sütun) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[Kitap1.xlsx]Sayfa1'!R" & Satır & "C" & Sütun & "")
Next
Next

MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub

.
 
Son tahminim, veri aldığınız dosya ile ilgili.....

Söz konusu Kitap1.xls dosyasını xlsx olarak kaydedip, kodu tekrar dener misiniz ?

Aşağıdaki kodda görüldüğü gibi, orjinal kodlarınızdaki Kitap1.xls yerine Kitap1.xlsx olarak değiştirin....

C#:
Sub VERİ_AL()
Dim Satır As Long, Sütun As Byte, Son_Satır As Long, Son_Sütun As Byte

Son_Satır = ExecuteExcel4Macro("CountA('" & ThisWorkbook.Path & "\[Kitap1.xlsx]Sayfa1'!C1)")
Son_Sütun = ExecuteExcel4Macro("CountA('" & ThisWorkbook.Path & "\[Kitap1.xlsx]Sayfa1'!R1)")

Range(Cells(1, 1), Cells(Son_Satır, Son_Sütun)).ClearContents

For Satır = 1 To Son_Satır
For Sütun = 1 To Son_Sütun
Cells(Satır, Sütun) = ExecuteExcel4Macro("'" & ThisWorkbook.Path & "\[Kitap1.xlsx]Sayfa1'!R" & Satır & "C" & Sütun & "")
Next
Next

MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub

.
Çok teşekkürler sağolun.
 
Geri
Üst