Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: Zelle finden und Adresse ausgeben

VBA: Zelle finden und Adresse ausgeben
20.03.2007 12:48:50
Frank68

Hallo Excelperten,
ich bitte um Unterstützung: Ich lasse per Makro in einer Matrix nach einem bestimmten Wert suchen.
Wird dieser (Bsp. in Zeile 17, Spalte 5) gefunden, möchte ich in der gleichen Zeile (hier: 17) über .offset den Wert der zweiten Spalte auslesen. Ich denke, ich muss über .adress gehen, aber ich kenne die Syntax nicht, mit der ich lediglich die spaltenzahl auslesen und in eine Variable übergeben kann.
Kann jemand helfen?
Dank!
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Zelle finden und Adresse ausgeben
20.03.2007 13:12:43
mpb
Hallo Frank,
als Beispiel:

Sub spalte()
MsgBox ActiveCell.Column
MsgBox Cells(ActiveCell.Row, 2)
End Sub

Statt ActiveCell bitte die gefundene Zelle als Objekt ansprechen.
Wenn Du immer den Wert aus der 2. Spalte auslesen willst, nimm die 2. Codezeile.
Gruß
Martin
Anzeige
AW: VBA: Zelle finden und Adresse ausgeben
20.03.2007 13:16:00
Frank68
Dank!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zelle finden und Adresse ausgeben mit VBA


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu starten.

  2. Neues Modul erstellen: Klicke im Projektfenster mit der rechten Maustaste auf dein Projekt und wähle Einfügen > Modul.

  3. Makro schreiben: Füge folgenden Code in das Modul ein:

    Sub ZelleSuchenUndAdresseAusgeben()
       Dim Suchwert As String
       Dim gefundeneZelle As Range
    
       Suchwert = InputBox("Bitte gib den Suchwert ein:")
       Set gefundeneZelle = Cells.Find(What:=Suchwert, LookIn:=xlValues, LookAt:=xlPart)
    
       If Not gefundeneZelle Is Nothing Then
           MsgBox "Die Adresse der gefundenen Zelle ist: " & gefundeneZelle.Address
       Else
           MsgBox "Wert nicht gefunden!"
       End If
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus.


Häufige Fehler und Lösungen

  • Fehler: "Wert nicht gefunden!"

    • Lösung: Stelle sicher, dass der eingegebene Suchwert genau mit den Inhalten in den Zellen übereinstimmt. Prüfe auch, ob die Groß- und Kleinschreibung eine Rolle spielt.
  • Fehler: Fehler beim Ausführen des Makros

    • Lösung: Überprüfe, ob der VBA-Editor geöffnet ist und ob das Makro im richtigen Modul gespeichert wurde.

Alternative Methoden

Eine andere Methode zur Ermittlung der Adresse einer Zelle mit bestimmten Inhalten ist die Verwendung von AutoFilter. Hierbei kannst du die Zellen nach dem gesuchten Wert filtern und dann die Adresse der ersten gefilterten Zelle auslesen.

Sub ZelleFilternUndAdresseAusgeben()
    Dim Suchwert As String
    Dim gefundeneZelle As Range

    Suchwert = InputBox("Bitte gib den Suchwert ein:")

    ActiveSheet.Range("A1").AutoFilter Field:=1, Criteria1:=Suchwert
    Set gefundeneZelle = ActiveSheet.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Cells(1, 1)

    MsgBox "Die Adresse der gefilterten Zelle ist: " & gefundeneZelle.Address
    ActiveSheet.AutoFilterMode = False
End Sub

Praktische Beispiele

  • Beispiel 1: Suche nach einem bestimmten Text in einer Spalte und gebe die Adresse aus.

  • Beispiel 2: Verwende die Cells-Methode, um die Adresse einer Zelle in einer anderen Spalte zu ermitteln, wie im Beitrag von Martin beschrieben:

    Sub AdresseAusZweiterSpalte()
       Dim gefundeneZelle As Range
       Set gefundeneZelle = Cells(17, 5) ' Beispielhafte Zelle in Zeile 17, Spalte 5
       MsgBox "Die Adresse der zweiten Spalte ist: " & gefundeneZelle.Offset(0, -3).Address ' gibt Adresse der Zelle in Spalte 2 aus
    End Sub

Tipps für Profis

  • Nutze die Find-Methode, um die Suche effizienter zu gestalten. Dies ist besonders hilfreich, wenn du mit großen Datenmengen arbeitest.
  • Verwende .Offset, um relativ zur gefundenen Zelle auf andere Zellen zuzugreifen. Dies erleichtert das Auslesen von Werten in benachbarten Spalten.
  • Denke daran, dass die Address-Eigenschaft dir die Adresse einer Zelle in einem lesbaren Format zurückgibt. Dies ist nützlich, wenn du die Adresse in einer Meldung oder zur weiteren Verarbeitung benötigst.

FAQ: Häufige Fragen

1. Wie kann ich die Adresse einer Zelle mit bestimmten Inhalten ausgeben? Du kannst die Find-Methode verwenden, um die Zelle zu finden und dann die Address-Eigenschaft nutzen, um die Adresse auszugeben.

2. Ist es möglich, die Suche auf mehrere Blätter auszudehnen? Ja, du kannst eine Schleife verwenden, um durch alle Blätter zu iterieren und auf jedem Blatt die Find-Methode anzuwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige