2015-04-07 6 views
0

Первоначально у меня была таблица на листе «1», называемая «таблица». Из этой книги я мог бы использовать код:Расчет количества строк в таблице в отдельной книге

Private Sub CommandButton1_Click() 
       latestSequenceNumber = 7 
       MsgBox (latestSequenceNumber) 
       latestSequenceNumber = Worksheets("1").ListObjects("table").Range.Row.Count 
       MsgBox (latestSequenceNumber)   
End Sub 

Выше работал.

Теперь я переместил лист со столом в новую отдельную книгу под названием «testLocation.xlsx», находящуюся в той же папке. Таким образом, я теперь пытаюсь использовать этот код:

Private Sub CommandButton1_Click() 
    Set repo = Workbooks.Open("testLocation.xlsx") 
       latestSequenceNumber = 7 
       MsgBox (latestSequenceNumber) 
       latestSequenceNumber = repo.Worksheets("1").ListObjects("table").Range.Row.Count 'object required error?! 
       MsgBox (latestSequenceNumber)     
End Sub 

Любые идеи, почему это бросает ошибку «Требуется объект» и/или, как решить эту проблему?

+0

В вашей новой книге все еще есть таблица, определенная и называемая 'table1'? – PeterT

+1

Этот 'Set repo = Workbooks.Open (" testLocation.xlsx ")' должен включать полный путь к файлу, чтобы открыть его, а не только имя книги. – Kyle

+0

Книга открывается без полного пути к файлу. Попробуем еще и посмотрим, изменит ли это. – dazedAndConfused

ответ

0

Это будет работать:

Private Sub CommandButton1_Click() 

    Set repo = Workbooks.Open("testLocation.xlsx") 
    latestSequenceNumber = 7 
    MsgBox (latestSequenceNumber) 
    latestSequenceNumber = repo.Worksheets(1).ListObjects("table").Range.Rows.Count 'object required error?! 
    MsgBox (latestSequenceNumber) 
End Sub 

Я не уверен, что это неправильно с вашей стороны, как вы пропустили «S» в вашем примере кода. Вы хотите Range.Rows не Range.Row.Count.

+0

Если этот лист является первым листом в рабочей книге, он будет работать. Если вам нужна ссылка на имя, поместите его в кавычки. – Kusnierewicz

Смежные вопросы