Mit Cells Funktion Spalte einer Tabelle ansprechen
#1
Hallo zusammen,

kurze Frage: ist es möglich im VBA mit der Funktion Cells(zeile,spalte), als Spalte den Namen einer Tabelle zu verwenden? Cells(2,"Tabelle1[Marke]") funktioniert bei mir leider nicht.

Bsp. Tabelle1 hat drei Spalten eine davon den Titel Marke. Über normale Funktionen kann ich ja mit @Marke diese ansprechen. 

Ziel ist es im VBA nicht immer den Spaltenindex ändern zu müssen, falls mal eine Spalte dazu kommt oder rausfliegt.


Ich Danke euch. Grüße
Marc
Top
#2
Hallo, 19

z. B. so: 21

Code:
MsgBox Cells(4, Range("Marke").Column).Value
Top
#3
Nicht ganz, ich hole wohl besser weiter aus. 

Das ist die Tabelle. (siehe Anhang 19 )Ich will nun den Wert aus Spalte A und einer bestimmten Zeil (als Variable vorhanden) in einem anderen Arbeitsblatt in eine Zelle schreiben.

Aktueller Code mit Test bei Eingangsdatum:

Davor wurde Blatt aü ausgewählt

ab.Range("Eingangsdatum") = aü.Cells(Zeile, Range("Eingangsdatum").Column) 
ab.Range("Ausgangsdatum") = aü.Cells(Zeile, 2)

Ich habe gerade auch versucht, die Zelle auf dem Blatt ab anders zu benennen, es hat aber trotzdem keine Wirkung gezeigt.

Grüße 
Marc


Angehängte Dateien Thumbnail(s)
   
Top
#4
Hallo Marc, 19

besser wäre eine Beispieldatei in der klar ersichtlich ist, was von wo nach wo soll. 21
Top
#5
Hi Case,

Datei ist im Anhang. Das erste Blatt ist zum Bearbeiten der Aufträge und das zweite quasi eine Komplettübersicht in welcher die Daten gespeichert werden. Und da möchte ich die Spaltennamen ansprechen anstatt fix z.B. Spalte 5.


Angehängte Dateien
.xlsm   Auftragsbuch_prog_cev.xlsm (Größe: 64,29 KB / Downloads: 2)
Top
#6
Hallo, 19

bei "ListObjects" so: 21

Code:
MsgBox aü.Cells(Zeile, aü.Range("Tabelle4[[#Headers],[Eingangsdatum]]").Column).Value

Die anderen Spalten dann analog.

Du musst das auch nicht alles selektieren. Das geht ganz gut ohne. Dodgy
Top
#7
Funktioniert mega. Danke Case
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste