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

Zelle suchen und ganze Zeile Markieren

Forumthread: Zelle suchen und ganze Zeile Markieren

Zelle suchen und ganze Zeile Markieren
27.01.2004 16:28:00
nighman
Kann mir jemand Helfen ?
Kenne mich nur einwenig im Excel / Makro's aus.
Ich möchte gerne in einer Tabelle nach einem Bestimmten Wert suchen.
z.b. wert5
Wenn dieser Wert gefunden wird, so sollte die ganze Zeile markiert werden und gelöscht werden. Dies sollte solange wiederholt werden, bis dieser Wert in der Tabelle nicht mehr existiert.
Ist das mit einem Makro machbar.
Für eure Hilfe jetzt schon Danke
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zelle suchen und ganze Zeile Markieren
27.01.2004 16:51:24
Fabian
Hallo,
also ich glaube um ein Makro kommst Du da nicht herum. Vielleicht hilft Dir das hier weiter:

Sub Zeile_loeschen()
dim i,j as integer
'Jede Zeile durchlaufen
for i = 1 to 65536
'Jede Spalte durchlaufen
for j = 1 to 256
if cells(i,j)= wert5 then
'Zeile markieren
Rows(i & ":" & i).Select
'Zeile löschen
Selection.Delete Shift:=xlUp
'Schleife für diese Zeile abbrechen
exit for
endif
next j
next i
End Sub


Kriegst Du dieses Makro in Deinem Projekt plaziert? Ach ja, es wird lange dauern bis es komplett durchgelaufen ist. Andere Lösungen sind meiner Meinung nach für den Anfang zu komplex... hier steigst Du vielleicht selber noch durch.
Viel Erfolg
Fabian
Anzeige
AW: Zelle suchen und ganze Zeile Markieren
27.01.2004 23:40:05
nightman
Danke Fabian,
ja bei diesem Makro schaue ich noch durch.
Ich muss ja nich alles durchsuchen lassen.
Mir genüg es, wenn folgende Zelle/Spalten durchsuch werden.
for i = 1 to 650
'Jede Spalte durchlaufen
for j = 1 to 20
Aber wie soll ich nach einmen Zelleninhalt suchen.
Z.b- in der Zell steht BC 3034. Ich müsste allso nach "BC 3034" suchen.
Was muss ich änder, das dies so funktioniert.
Vorerst schon einmal
Danke
Anzeige
AW: Zelle suchen und ganze Zeile Markieren
29.01.2004 09:59:58
Fabian
Du musst einfach hier den Vergleich ändern.
von:
if cells(i,j)= wert5 then
in:
if cells(i,j)= "BC 3034" then
oder aber, du weist den gesuchten wert vorher einer String-Variable zu und vergleichst dann damit:
dim Suchbegriff as string
Suchbegriff = "BC 3034"
if cells(i,j)= Suchbegriff then

... alles klar?
Viele Grüsse
Fabian
Anzeige
AW: Zelle suchen und ganze Zeile Markieren
29.01.2004 12:04:55
nighman
Danke Fabian.
Habe mich ein bisschen schlauer gemacht. Dank an das Internet.
Jetz habe ich folgendes Makro erstellt.

Sub test()
Dim Ziel As Range
Dim Wert As String
Wert = "BC 0122"
Set Ziel = Sheets("test").Columns(2).Find(Wert, LookAt:=xlPart)
Range(Range(Ziel.Address).Offset(0, -1), Range(Ziel.Address).Offset(0, 5)).Cut
Sheets("Tabelle2").Select
Range("B1").Select
ActiveSheet.Paste
End Sub

Ich Suche in der Tabele "test" in der Spalte 2 nach dem Wert "BC 0122"
Wird dieser gefunden, so wird eine Zelle nach link und 5 Zellen nach rechts ausgeschnitten und in der Tabelle "Tabelle2" "B1" eingefügt.
Wenn dieser Wert nich gefunden wurde, erhalte ich eine Fehlermeldung:
"Obiektvariable oder With-Blockvariable nicht fetgelegt"
Wie kann ich diese Fhlermeldung vermeiden`?
Ich möchte auch, da jede Zeile die ausgeschnittten und eingefügt wird in einer eingenen Zeile in der Tabelle2 eingefügt wird.
Ist es auch möglich das ich dies gleich mit 3 verschiedene Werten machen kann.
Hoffentlich verlange ich nicht zuviel.
Oder soll ich für diese Frage eine neue Anfrager erstellen ?
Auf jeden fall Danke
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zelle suchen und ganze Zeile markieren in Excel


Schritt-für-Schritt-Anleitung

Um in Excel eine ganze Zeile zu markieren, wenn ein bestimmter Wert gefunden wird, kannst du ein VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

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

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf VBAProject (deine Datei), wähle Einfügen und dann Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub Zeile_loeschen()
       Dim i As Integer, j As Integer
       'Jede Zeile durchlaufen
       For i = 1 To 65536
           'Jede Spalte durchlaufen
           For j = 1 To 256
               If Cells(i, j) = "wert5" Then
                   'Ganze Zeile markieren
                   Rows(i & ":" & i).Select
                   'Zeile löschen
                   Selection.Delete Shift:=xlUp
                   'Schleife für diese Zeile abbrechen
                   Exit For
               End If
           Next j
       Next i
    End Sub
  4. Ändere den Suchbegriff: Ersetze "wert5" durch den gewünschten Wert, z.B. "BC 3034".

  5. Führe das Makro aus: Gehe zurück zu Excel und drücke ALT + F8, wähle das Makro aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehlermeldung: "Objektvariable oder With-Blockvariable nicht festgelegt": Dies tritt auf, wenn der gesuchte Wert nicht gefunden wird. Um dies zu vermeiden, solltest du überprüfen, ob der Ziel-Bereich existiert, bevor du darauf zugreifst.

    If Not Ziel Is Nothing Then
      ' Dein Code hier
    End If
  • Die komplette Zeile wird nicht markiert: Stelle sicher, dass der Code korrekt ist und die Bedingungen für die Zeilenmarkierung erfüllt sind.


Alternative Methoden

Du kannst auch Excel-Shortcuts verwenden, um schnell eine gesamte Zeile zu markieren:

  • Tastenkombination für ganze Zeile markieren: Wähle eine Zelle in der gewünschten Zeile aus und drücke Umschalt + Leertaste. Dies markiert die gesamte Zeile.
  • Suchfunktion verwenden: Nutze STRG + F, um nach einem bestimmten Wert zu suchen. Wenn du die Zelle gefunden hast, kannst du die gesamte Zeile mit Umschalt + Leertaste markieren.

Praktische Beispiele

Hier ist ein Beispiel für ein Makro, das eine Zeile in einer Tabelle basierend auf einem bestimmten Wert ausschneidet und in eine andere Tabelle einfügt:

Sub test()
    Dim Ziel As Range
    Dim Wert As String
    Wert = "BC 0122"
    Set Ziel = Sheets("test").Columns(2).Find(Wert, LookAt:=xlPart)

    If Not Ziel Is Nothing Then
        Range(Range(Ziel.Address).Offset(0, -1), Range(Ziel.Address).Offset(0, 5)).Cut
        Sheets("Tabelle2").Select
        Range("B1").Select
        ActiveSheet.Paste
    End If
End Sub

Dieses Beispiel zeigt, wie du eine Zelle in der Tabelle "test" suchen und die gesamte Zeile auswählen kannst, um sie in "Tabelle2" einzufügen.


Tipps für Profis

  • Verwende Variablen: Lege Suchbegriffe in Variablen ab, um die Lesbarkeit und Wartbarkeit deines Codes zu verbessern.

    Dim Suchbegriff As String
    Suchbegriff = "BC 3034"
  • Optimierung: Reduziere die Anzahl der Zellen, die durchsucht werden, um die Ausführungszeit des Makros zu verkürzen.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Werte gleichzeitig suchen?
Du kannst eine Schleife implementieren, die mehrere Suchbegriffe durchgeht und die entsprechenden Zeilen markiert.

2. Welche Excel-Version benötige ich für VBA?
VBA ist in den meisten modernen Excel-Versionen enthalten, einschließlich Excel 2010, 2013, 2016, 2019 und Office 365.

3. Gibt es eine Möglichkeit, die ganze Zeile ohne VBA zu markieren?
Ja, du kannst die Zeile manuell mit der Tastenkombination Umschalt + Leertaste markieren, nachdem du in die Zelle geklickt hast, die du suchst.

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