Ich erstelle ein Makro, um eine Tabelle in Excel zu bearbeiten. Ich konnte Code erstellen, um das zu tun, was ich brauche. Das Problem ist, dass meine Tabellennamen nicht immer die gleichen sind.Verweisen auf aktive Tabelle in VBA
Als Beispiel:
Range("DATA_INPUT4[MFG Catalog]").Copy
Dieser Code kopiert die MFG Katalog Spalte in meinem Tisch ganz gut, aber der Tisch nicht immer wird zu dem Namen „DATA_INPUT4“.
Ich habe mit ein paar Sachen herumgespielt, um zu versuchen, es mit dem aktiven Tisch zu arbeiten, und ich fühle mich, als ob ich nah bin, aber ich kann keinen Fortschritt bekommen. Ich habe tryed:
Sub Copy_Active_Table()
Dim activeTable As String
activeTable = ActiveSheet.ListObjects(1).Name
MsgBox activeTable 'To make sure it's pulling the correct table name
Range("activeTable[MFG Catalog]").Copy
End Sub
Dies ist wahrscheinlich völlig falsch ist, aber man kann sehen, wo ich mit ihm gehe.
Ich habe das Gefühl, dass ich Dim activeTable As ListObject
habe, aber ich habe es auch nicht herausfinden können.
Dieses scheinbar einfache Problem macht mich verrückt, jede Hilfe wäre genial.
Danke,
Brian
Ja tatsächlich, Sie sind sehr nah. Probieren Sie Folgendes aus: 'Range (activeTable &" [MFG Catalog] "). Kopieren' – Ralph
Huzzah! Vielen Dank, das hat perfekt funktioniert! –
Bitte beachten Sie, dass Ihr Skript NICHT die aktive Tabelle übernimmt - es nimmt die erste Tabelle auf dem Blatt. – chukko