Liczba linii tabeli Listobject


Mam tabelę Excel z jednym cygiem tytułem i jedną linią korpusu danych. Chcę policzyć linie danych. Kiedy próbuję sprawdzić, ile linii ma mój stół
Set myWorkSheet= ActiveWorkbook.Worksheets("Sheet1")
Set myTable= myWorkSheet.ListObjects("Table1")
countrows = myTable.ListRows.Count

Worlows Zawiera 0 . Jeśli ma 2 lub więcej wierszy, daje odpowiedni numer linii. Dlaczego mówi 0 na jedną linię i jest to najlepszy sposób na policzenie linii lub ma najlepiej?

EDIT

:
Dowiedziałem się, jaką jest problem. Używam tych linii, aby oczyścić stół przed wypełnieniem go ponownie:
If tblChart.ListRows.Count >= 1 Then
myTable.DataBodyRange.Delete
End If

Po tej operacji tabela wygląda tak, jak ją opisałem. Bez niego i zmiana stołu tak, aby wyglądał jak opisałem stół, zadziałało. Ale dlaczego powoduje to taki problem?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Właściwość Listobject, której szukasz, jest .DatabodyRange .
Dim myWorkSheet As Worksheet, myTable As ListObject, countRows As Long
Set myWorkSheet = ActiveWorkbook.Worksheets("Sheet1")
Set myTable = myWorkSheet.ListObjects("Table1")
countRows = myTable.DataBodyRange.Rows.Count
Debug.Print countRows

Pełna lista właściwości Listobject jest dostępna pod adresem:

ListObject Interface
https://msdn.microsoft.com/en- ... .aspx
.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Odpowiedź spóźnia się, jeśli wyszukiwarka Google zabierze tutaj użytkownika:
Znalazłem również ten problem. Obiekt DatabodyRange nie istnieje, jeśli nie ma dwóch linii danych. Nie tylko dwa puste struny, ale dwie linie danych przynajmniej w jednej kolumnie.
Okazało się, że działa niezawodnie, aby sprawdzić, czy istnieje DataBodyRange:
<div class="snippet-code">
<div class="snippet" data-babel="false" data-console="true" data-hide="false" data-lang="js">
<pre class="snippet-code-js lang-js prettyprint-override">
If Not TableListObject.DataBodyRange is Nothing Then
Debug.Print "Data Rows Count=", TableListObject.DataBodyRange.Rows.Count
Else
Debug.Print "No Data in Table detected"
End if

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się