2016-07-24 166 views
0

我有以下代碼。它不會選擇新創建的行...Excel表VBA - 選擇新的最後一行單元格2作爲活動

我有一個名爲ADD NEW的宏按鈕,它鏈接到成功地在表中添加最後一行的代碼,並在表的第一個單元格中生成一個新數字。但它沒有設置爲活動,並且'轉到'第二個單元格以開始用戶.... 我錯過了什麼?

Sub Add_New() 

Dim the_sheet As Worksheet 
Dim the_table As ListObject 
Dim table_object_row As ListRow 
Dim last_row As Long 

Set the_sheet = Sheets("Inventory") 
Set the_table = the_sheet.ListObjects("tbl_Data") 
Set table_object_row = the_table.ListRows.Add 
Set last_row = the_sheet.Range("C1`" & .Rows.Count).End(x1up).Row 
End Sub 
+0

您需要類似'table_object_row.Range.Cells(1).Activate'或'Application.GoTo(table_object_row.Range.Cells(1))'。這些都沒有經過測試,但總的想法是,你已經設置了所需的參考,但你沒有對它們做任何事情。順便說一句,我不認爲你需要最後一行,因爲它是指新增加的行。如果你確實需要它,那麼你需要在開始時刪除'Set',就像'Ranges'一樣。並且您需要限定'.​​Rows'部分,即指定行的位置。 –

回答

1

嘗試增加

table_object_row.range.cells(1,1).select 

(假設這些行是相同的工作表行)

順便說一句,這正確線

Set last_row = the_sheet.Range("C1`" & .Rows.Count).End(x1up).Row 

last_row= Worksheets("Inventory").Range("A1" & Worksheets("Inventory").Rows.Count).End(xlUp).Row 
+0

'last_row'很長,所以不能選擇。 –

+0

嘗試改正答案 – Shodan

+0

您之前的編輯工作正常,但我認爲您只是選擇表格行(或者其中的一個單元格)而處於正確的軌道上。但是,'table_object_row.select'會給你一個運行時錯誤。 –

相關問題