2016-07-24 125 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'会给你一个运行时错误。 –

相关问题