2016-07-24 9 views
0

Ich habe den folgenden Code. Die neu erstellte Zeile wird nicht ausgewählt ...Excel-Tabelle VBA - Wählen Sie neue letzte Zeile Zelle 2 als aktiv

Ich habe eine Makroschaltfläche namens ADD NEW, die mit Code verknüpft, der erfolgreich eine neue letzte Zeile in einer Tabelle hinzufügt und eine neue Nummer in der ersten Zelle der Tabelle generiert. aber es ist nicht so aktiv und 'gehen zu' die zweite Zelle, um den Benutzer zu beginnen .... Was fehlt mir?

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

Sie benötigen etwas wie 'table_object_row.Range.Cells (1) .Activate' oder' Application.GoTo (table_object_row.Range.Cells (1)) '. Diese sind nicht getestet, aber die allgemeine Idee ist, dass Sie die erforderlichen Referenzen festgelegt haben, aber Sie haben nichts mit ihnen getan. Übrigens glaube ich nicht, dass du die letzte Zeile dafür brauchst, da es sich auf die neu hinzugefügte Zeile bezieht. Wenn Sie es brauchen, dann müssen Sie die 'Set' am Anfang entfernen, wie für' Ranges'. Und Sie müssen den '.Rows'-Teil qualifizieren, d. H. Angeben, wo sich die Zeilen befinden. –

Antwort

1

Versuchen Zugabe

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

(Unter der Annahme, diese Zeilen sind die gleichen wie Arbeitsblatt Zeilen)

BTW, korrigieren diese Linie

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

zu

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

'last_row' ist lang, kann also nicht ausgewählt werden. –

+0

Versuchen Sie die korrigierte Antwort – Shodan

+0

Ihre vorherige Bearbeitung hat funktioniert, obwohl ich denke, dass Sie auf dem richtigen Weg sind, nur die Tabellenzeile (oder vielleicht eine Zelle darin) auszuwählen. 'Table_object_row.select' gibt Ihnen jedoch einen Laufzeitfehler. –

Verwandte Themen