2016-07-24 9 views
0

次のコードがあります。新しく作成された行は選択されません。ExcelテーブルVBA - 新しい最終行セル2をアクティブとして選択します。

私は、テーブルに新しい最後の行を追加し、テーブルの最初のセルに新しい番号を生成するコードにリンクするADD NEWというマクロボタンがあります。それはアクティブとして設定されていないし、ユーザーを開始するために2番目のセルに行く... 私は何が欠けていますか?

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 'を削除する必要があります。それは' Range'のためです。また、 '.Rows'部分を修飾する必要があります。つまり、行の場所を指定する必要があります。 –

答えて

1

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

を追加してみ

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

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

この行を修正、BTW

を(これらの行は、ワークシートの行と同じであると仮定すると)

+0

'last_row'は長いので選択できません。 –

+0

訂正された回答をお試しください – Shodan

+0

あなたの以前の編集はうまくいきましたが、テーブルの行(またはその中のセル)を選択するだけで正しいと思います。しかし、 'table_object_row.select'は実行時エラーを返します。 –

関連する問題