Satır sayısını hakkında

Katılım
22 Nisan 2006
Mesajlar
28
Excel Vers. ve Dili
2003 türkçe
Tüm dostlarıma iyi çalışmalar diliyorum. Ayrıca doğum günümüzü kutlarım.
Kod:
sub DosyaAcma ()
Set Yeni = New Excel.Application
yeni.visible = False
Set Dosyaadı = Yeni.Workbooks.Open(AdresliDosya).Sheets(1)
dim Kayıt as integer
Kayıt = WorksheetFunction.CountA(Sheets("sayfa1").Range("a:a"))
........
end sub
Bu kodları çalıştırdığım zaman "open" komutu ile açılan dosyadaki satırı değil yordamın kayıtlı olduğu dosyadaki satırları sayıyor.Benim istediğimse tam tersi. Nedenini tam anlayamamakla birlikte sanırım "Dosyaadı" aktive olmuyor, ne denediysem de olmadı. Ayrıca "dosyaadı" değişkeninin kayıtlarını "cells" değimi ile okuyabiliyorum. Ama satır sayısını alamıyorum.

Bunun sonucu olarak da, dosyaya kayıt ilave edemiyorum. Dostlarım her türlü öneriye açığım. Saygılar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kırmızı renkli ilaveyi yaparak deneyin.

[vb:1:e6c69bf7cb]Kayıt = WorksheetFunction.CountA(Workbooks(AdresliDosya).Sheets("sayfa1").Range("a:a")) [/vb:1:e6c69bf7cb]
 
Katılım
22 Nisan 2006
Mesajlar
28
Excel Vers. ve Dili
2003 türkçe
Yukarıda yazdığınız kodu denemiştim. "run-time error 9:
subscript out of range" hatasını veriyor. "KayıtSayısı = WorksheetFunction.CountA(Workbooks(Dosyaadı).Sheets("sayfa1").Range("a:a"))"Hatta bunu da denedim onda da benzer bir hata veriyor.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Birde aşağıdaki gibi deneyin.

Workbooks(Dosyaadı & ".xls")
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kod:
Sub Test()
    Dim NewXL As Excel.Application
    Dim NewBook As Workbook
    Dim Kayit As Long
    
    Set NewXL = New Excel.Application
    NewXL.Visible = False
    Set NewBook = NewXL.Workbooks.Open("C:\Temp\Test.xls")
    Kayit = NewXL.WorksheetFunction.CountA(NewBook.Sheets("Sayfa1").Range("A:A"))
    
    MsgBox Kayit
    
    NewBook.Close SaveChanges:=True
    Set NewBook = Nothing
    Set NewXL = Nothing
End Sub
 
Katılım
22 Nisan 2006
Mesajlar
28
Excel Vers. ve Dili
2003 türkçe
Sayın Haluk ve leventm, yardımınız için çok çok teşkkürederim. Verdiğiniz kodları sabahtan beri türlü şekilde denedim hep aynı hatayı verdi.

Ben dosyada önemli değişiklik yaptığım zaman dosyayı farklı kaydet ile yedek alıyordum. O kodları eski dosyada denedim ve "farklı kaydet" meden denedim bu sefer o hatayı vermedi. İlginç bir durum. Şu anda problemsiz çalışıyor.

Sanırım bu program biterse ben değil sizler yapmış olacaksınız. Saygılar.
 
Üst