ich habe meine Kontakte in einer Tabelle organisiert. Die Tabelle wächst teilweise auch in die Breite, da ich Spalten ergänze. Nun möchte ich definierte Werte in eine Userform einlesen.
Ich habe die Tabelle als Listobject definiert:
Dim loKontakte As ListObject
Dim strTableName As String
strTableName = ActiveCell.ListObject.Name
Set loKontakte = ActiveSheet.ListObjects(strTableName)
Nun kann zum Beispiel den ersten Wert in der zweiten Spalte auslesen mit
loKontakte.DataBodyRange(1,2)
Ich würde die Spalte aber lieber über den Spaltennamen und nicht wie hier mit "2" ansprechen, damit ich nach dem Einfügen von Spalten nicht immer die Spaltennummer verbessern muss. Ich hatte mir in einem anderen Code mal damit geholfen, dass ich die Spaltennamen in Excel mit Namen versehen hatte und dann am Anfang immer die Position der Namen ausgelesen hatte. Aber das müsste doch eigentlich eleganter gehen?
Eine Variante könnte es sein, unterschiedliche ListObjects zu definieren, die jeweils nur eine Spalte der Tabelle sind, nehme ich an. Aber auch das scheint mir ein wenig umständlich. Habt Ihr bessere Ideen? Vielen Dank im Voraus