Hedef:
Bir değişken belirli bir sayfadaki satırların miktarını içermelidir.Sayfadaki satır sayısı
Sorun:
Excel VBA'da hangi sözdizimi kodu sayfadan satır sayısını saymalıyım?
Hedef:
Bir değişken belirli bir sayfadaki satırların miktarını içermelidir.Sayfadaki satır sayısı
Sorun:
Excel VBA'da hangi sözdizimi kodu sayfadan satır sayısını saymalıyım?
verileri olduğunu varsayar ama birlikte tedavi edilmesi gerekir:
Bunu yapmak için daha iyi bir yoldur bakım. Birkaç kusurları/gotchas var. Excel'in kullanılan menzili çok iyi takip etmediği bilinen bir sorundur. VBA ile kullanılan aralığa herhangi bir referans, değeri mevcut kullanılan aralığa sıfırlar. hangi sıklıkla (
Dim lRowCount as Long
Application.ActiveSheet.UsedRange
lRowCount = Worksheets("MySheet").UsedRange.Rows.Count
Ama siz çalışma kitabında üstündeki boş satırlar varsa bu yüzden, bu size kullanılan aralık sayısını verecektir unutmayın: Yani kullanılan aralık alıyorsanız bu alt yordamı denemenizi insanlar filtre kriterleri gibi şeyler için yer bırakmak zorundadırlar) sonra sayılmayacaktır. Usedrange yöntemi formatlamadan da etkilenebilir.
Eğer ben o zaman daha güvenilir bulmak yöntemini kullanabilirsiniz, istediğiniz ne düşündüğünü hangi kullanılan son satırı, isterseniz:
Dim rLastCell As Range
Dim lLastRow As Long
Set rLastCell = ActiveSheet.Cells.Find(What:="*", After:=.Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
If Not rLastCell Is Nothing Then lLastRow = rLastCell.Row
Eğer verilerle en az bir hücre olduğunu biliyorsanız içinde, o zaman yukarıdaki kolaylaştırabilirsiniz: Eğer toplam satırları bahsediyorsan
Dim lLastRow As Long
lLastRow = ActiveSheet.Cells.Find(What:="*", After:=.Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
Ayrıca deneyebilirsiniz: Silmekte ve satırları temizleyerek başlarsan
i = Sheets("SheetName").UsedRange.Rows.Count
Ancak bu biraz arabası alabilirsiniz.
i = Cells(Sheets("SheetName").Rows.Count, 1).End(xlup).Row
Bu her satır UsedRange yöntemi benim favorilerimden biri kullanma sütunda 1.
, 'Worksheet.Rows.Count' yapacak. Başka bir şey ifade ederseniz, bize bildirin. –