Excel VBA – Bestimmte Spalte finden

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

In diesem Beitrag zeige ich Ihnen wie Sie nach bestimmten Spalten suchen können. In unserer Ausgangstabelle haben wir die Daten einer Woche. Wir wollen nun herausfinden in welcher Spalte das heutige Datum (11.04.2014) steht.

111 VBA Makros die Ihr Leben leichter machen. Egal ob Sie Einsteiger oder fortgeschrittener Anwender sind – in diesem Buch finden Sie Lösungen für Ihre alltäglichen Aufgaben. Keine Vorkenntnisse notwendig.

Spalten über VBA finden
Wechseln Sie dazu mit ALT+F11 in die Entwicklungsumgebung und fügen Sie ein neues Modul ein.
Als Erstes deklarieren wir eine Variable vom Typ Range. In diese Variable wird unser Suchergebnis geschrieben. Danach führen wir unsere Suche aus.
Wir suchen in der ersten Zeile der Tabelle1 nach dem aktuellen Datum. Das aktuelle Datum können wir über die Funktion Date abrufen. Dabei suchen wir über xlWhole nach dem Datum als Ganzes und nicht nur nach Teilen der Zeichenkette.

Sub SpalteFinden()
Dim Ergebnis As Range

Set Ergebnis = Sheet1.Rows(1).Find(what:=Date, lookat:=xlWhole)

Debug.Print Ergebnis.Column
Debug.Print Ergebnis.Row
Debug.Print Ergebnis.Address

End Sub

Unternehmensplanung mit SAP BPC

111 VBA Makros die Ihr Leben leichter machen

Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.

Falls die Suche erfolgreich war, steht die genaue Zelle in unserer Variable. Diese hat bestimmte Eigenschaften wie .Column, .Row oder .Address. Diese möchten wir nun auswerten.
Wenn kein Ergebnis gefunden wurde, wird eine entsprechende Meldung ausgegeben. Falls die Suche erfolgreich war, geben wir die Koordinaten der Zelle aus.

Sub SpalteFinden()
Dim Ergebnis As Range

Set Ergebnis = Sheet1.Rows(1).Find(what:=Date, lookat:=xlWhole)

If Ergebnis Is Nothing Then
MsgBox "Leider nichts gefunden!"
Else
MsgBox "Das aktuelle Datum steht in der Zelle " & Ergebnis.Address
End If

End Sub

Die entsprechende Zelle wird gefunden
Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
  • Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

Quellen und weiterführende Literatur:
Bernd Held – VBA mit Excel: Das umfassende Handbuch

Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

1 Kommentar
  1. mrsSAN
    mrsSAN sagte:

    Hallo,
    ich habe ein spezifisches Problem.

    Ich habe in Tabelle 1 eine Datenmenge in einer Tabelle stehen mit Spaltenüberschriften in Zeile 10.
    In Tabelle 2 möchte ich die Spaltenüberschriften widerspiegeln, die ich anhand eines Dropdown-Menüs bestimme.
    Dazu habe ich bereits alles soweit vorbereitet, dass die Spaltenüberschriften ausgesucht werden können.
    Nun möchte ich, dass darunter die entsprechenden Spalten gespiegelt werden.

    In Tabelle 2 stehe dann in D7 die entsprechende Spaltenüberschrift, die in Zeile 10 auf Tabelle 1 zu finden ist. Die Tabelle geht von A10: AC 204.
    Wie kann ich lösen, dass die Spalte automatisch gespiegelt wird, wenn die Spaltenüberschrift ausgewählt ist?

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.