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

Forumthread: VBA: Zelle markieren

VBA: Zelle markieren
16.03.2006 10:08:59
Andi
Guten Morgen!
Habe folgenden VBA-Code, um nach Spalte "Test" zu suchen, das in irgendeiner der Spalten als Überschrift steht:
__________________________
Selection.Find(What:="Test", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.EntireColumn.Select
__________________________
Wie muss ich den Code ändern, um zu sagen, dass er in der gefunden Spalte eine bestimmte Zelle markiert, (bspw. ist "Test" in Spalte C - jetzt will ich ihm sagen, er soll C2 markieren)
Bin leider nicht so der VBA-Checker ;)
Vielen Dank!
Andi
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Zelle markieren
16.03.2006 10:19:00
Matthias
Hallo Andi,
statt "ActiveCell.EntireColumn.Select" in der letzten Zeile nur "ActiveCell.Select".
Wenn Du über alle Spalten suchen willst, dann geht das so:
Cells.Select
Selection.Find(What:="test", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Select
Gruß, Matthias R
Anzeige
AW: VBA: Zelle markieren
16.03.2006 10:41:44
Andi
Hallo Matthias,
danke, und wie kann ich jetzt sagen, dass ich in genau dieser Spalte eine bestimmte Zelle markiert haben möchte? bspw. die Zelle aus der 5. Zeile?
Danke,
Andi
AW: VBA: Zelle markieren
16.03.2006 10:58:58
u_
Hallo,

Sub Spalte()
Dim rngSpalte As Range
Set rngSpalte = Rows(1).Find(what:="Test6", after:=Cells(1, 1))
rngSpalte.Cells(5).Select
End Sub

Gruß
Geist ist geil!
Anzeige
Danke!
16.03.2006 11:12:29
Andi
Hallo,
danke, funktioniert!
Gruß
;

Forumthreads zu verwandten Themen

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 mit VBA in Excel markieren


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke im Projektfenster mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  3. Kopiere den Code: Füge den folgenden Code in das Modul ein, um eine Zelle in der gefundenen Spalte zu markieren:

    Sub Spalte()
       Dim rngSpalte As Range
       Set rngSpalte = Rows(1).Find(What:="Test", After:=Cells(1, 1), LookIn:=xlFormulas)
       If Not rngSpalte Is Nothing Then
           rngSpalte.Cells(5).Select ' Ändere die Zahl für die gewünschte Zeile
       Else
           MsgBox "Spalte nicht gefunden."
       End If
    End Sub
  4. Führe das Makro aus: Schließe den VBA-Editor und kehre zu Excel zurück. Drücke ALT + F8, wähle dein Makro aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Spalte nicht gefunden."
    Lösung: Stelle sicher, dass die Überschrift „Test“ in der ersten Zeile deiner Daten vorhanden ist.

  • Fehler beim Ausführen des Makros
    Lösung: Überprüfe, ob das Makro in einer Datei gespeichert wurde, die Makros zulässt (.xlsm).


Alternative Methoden

Du kannst auch den folgenden VBA-Code verwenden, um eine bestimmte Zelle auszuwählen, ohne die Spalte zu suchen:

Sub ZelleMarkieren()
    Cells(5, 3).Select ' Wählt die Zelle C5 aus
End Sub

Diese Methode ist nützlich, wenn du die genaue Position der Zelle kennst und nicht nach der Spalte suchen musst.


Praktische Beispiele

Wenn du eine Zelle in einer bestimmten Spalte basierend auf einem bestimmten Kriterium markieren möchtest, kannst du den folgenden Code verwenden:

Sub TestZelleMarkieren()
    Dim rngSpalte As Range
    Set rngSpalte = Rows(1).Find(What:="Test", After:=Cells(1, 1), LookIn:=xlFormulas)
    If Not rngSpalte Is Nothing Then
        rngSpalte.Offset(1, 0).Select ' Wählt die nächste Zelle in der gefundenen Spalte aus
    End If
End Sub

Hier wird die Zelle direkt unter der gefundenen Überschrift ausgewählt.


Tipps für Profis

  • Verwende Variablen für die Zeilen- und Spaltennummer: Du kannst Variablen definieren, um die Zeilen- oder Spaltennummer dynamisch zu gestalten.
  • Fehlerbehandlung hinzufügen: Verwende On Error Resume Next, um Fehler elegant zu handhaben, falls die Zelle nicht gefunden wird.
  • Makros speichern: Vergiss nicht, deine Excel-Datei im .xlsm Format zu speichern, damit die Makros erhalten bleiben.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen in einer Zeile markieren?
Du kannst eine Schleife verwenden, um durch die Zellen zu iterieren und mehrere auszuwählen.

2. Was ist der Unterschied zwischen .Select und .Activate in VBA?
.Select wählt eine Zelle aus, während .Activate die Zelle aktiv macht, sodass sie als aktuelle Zelle gilt.

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