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

Forumthread: Eintrag suchen und darunter Zeile einfügen?

Eintrag suchen und darunter Zeile einfügen?
10.07.2006 12:45:23
stefanseevetal
Hallo liebe Excel-Experten!
Ich möchte im Rahmen eines Makros folgende Funktion installieren:
Der Makro soll ein Tabellenblatt nach einem bestimmten Eintrag durchsuchen (z.B. "Funkgeräte") und unterhalb dieses Eintrages eine neue Zeile einfügen.
Hat da jemand eine Idee, wie ich das machen kann?
Lieben Gruß und Danke,
stefanseevetal
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eintrag suchen und darunter Zeile einfügen?
10.07.2006 12:58:28
timbo
Hallo,
vielleicht hilft Dir das hier weiter:
Sub EintragSuchen
Dim Suchwert As String
Dim Zeile As Integer
'Selektion Deines Tabellenblatts
Sheets("Tabellenblatt").Select
'Selektion der Startzelle, ab der nach unten durchsucht werden soll, z.B. A1
Range("A1").Select
Zeile = 1
While "Funkgeräte" Cells(Zeile, "N").Text And "" Cells(Zeile, "N").Text
'Hier wird die Variable "Zeile" so lange erhöht, bis wir auf dem gesuchten Text sind
Zeile = Zeile + 1
Wend
Hier muss dann noch eine Funktion folgen, die in der gefundenen "Zeile+1" eine Zeile hinzufügt. Diesbezüglich muss ich nochmal recherchieren.
Gruß, timbo
Anzeige
AW: Eintrag suchen und darunter Zeile einfügen?
10.07.2006 13:03:31
UweD
Hallo
so..

Sub ZeilePlus()
Dim Was$, c, fA
Was = "Funkgeräte"
With ActiveSheet.Cells
Set c = .Find(Was, LookIn:=xlValues)
If Not c Is Nothing Then
fA = c.Address
Do
Rows(c.Row + 1).Insert
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> fA
End If
End With
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Super, es funktioniert, Danke!!!
10.07.2006 13:12:33
stefanseevetal
Super, vielen Dank, es funktioniert!!!
Gruß,
stefanseevetal
AW: zusätzlich Zeilenhöhe eingeben?
10.07.2006 13:31:48
stefanseevetal
Hallo nochmal,
hab noch eine kleine Zusatzfrage:
Wie und wo kann ich noch die Zeilenhöhe der neu eingefügten Zeile eingeben?
Habe nämlich das Problem, dass die gefundene Zeile höher ist, als die darunter und ich möchte automatisch eine andere Zeilenhöhe haben.
Gruß,
stefanseevetal
Anzeige
AW: zusätzlich Zeilenhöhe eingeben?
10.07.2006 13:53:07
UweD
Hallo nochmal
Änderung ist eingebaut..

Sub ZeilePlus()
Dim Was$, c, fA
Was = "Funkgeräte"
With ActiveSheet.Cells
Set c = .Find(Was, LookIn:=xlValues)
If Not c Is Nothing Then
fA = c.Address
Do
Rows(c.Row + 1).Insert
Rows(c.Row + 1).RowHeight = 20
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> fA
Else
MsgBox "Suchwort '" & Was & "' nicht gefunden"
End If
End With
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Eintrag suchen und darunter Zeile einfügen?
10.07.2006 13:08:00
Harald
Hi,
vielleicht so ?

Sub zeiledazu()
Dim suchbegriff As String, zelle
Dim z As Long
suchbegriff = InputBox("Bitte Suchbegriff eingeben")
Set zelle = ActiveSheet.Cells.Find(suchbegriff)
If Not zelle Is Nothing Then
z = zelle.Row + 1
Rows(z).Insert Shift:=xlDown
Else
MsgBox "Suchbegriff nicht gefunden"
End If
End Sub

Gruss Harald
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Eintrag suchen und darunter Zeile einfügen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel einen Eintrag zu suchen und darunter eine neue Zeile einzufügen, kannst Du ein VBA-Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

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

    Sub ZeilePlus()
        Dim Was$, c, fA
        Was = "Funkgeräte"
        With ActiveSheet.Cells
            Set c = .Find(Was, LookIn:=xlValues)
            If Not c Is Nothing Then
                fA = c.Address
                Do
                    Rows(c.Row + 1).Insert
                    Rows(c.Row + 1).RowHeight = 20 ' Zeilenhöhe einstellen
                    Set c = .FindNext(c)
                Loop While Not c Is Nothing And c.Address <> fA
            Else
                MsgBox "Suchwort '" & Was & "' nicht gefunden"
            End If
        End With
    End Sub
  4. Ändere "Funkgeräte" im Code zu dem Begriff, den Du suchen möchtest.

  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.


Häufige Fehler und Lösungen

  • Fehler: "Suchwort nicht gefunden"

    • Lösung: Stelle sicher, dass der Suchbegriff korrekt geschrieben ist und im aktiven Arbeitsblatt vorhanden ist. Achte auf Groß- und Kleinschreibung.
  • Fehler: Zeile wird nicht eingefügt

    • Lösung: Überprüfe, ob der Code im richtigen Modul eingefügt wurde und ob das aktive Arbeitsblatt die gewünschten Daten enthält.

Alternative Methoden

Eine alternative Methode ist die Verwendung einer InputBox, um den Suchbegriff dynamisch einzugeben. Hier ist ein Beispielcode:

Sub zeiledazu()
    Dim suchbegriff As String, zelle
    Dim z As Long
    suchbegriff = InputBox("Bitte Suchbegriff eingeben")
    Set zelle = ActiveSheet.Cells.Find(suchbegriff)
    If Not zelle Is Nothing Then
        z = zelle.Row + 1
        Rows(z).Insert Shift:=xlDown
    Else
        MsgBox "Suchbegriff nicht gefunden"
    End If
End Sub

Diese Methode erlaubt es dir, den Suchbegriff direkt beim Ausführen des Makros einzugeben.


Praktische Beispiele

Stelle dir vor, Du hast eine Liste von Geräten in einer Excel-Tabelle, und Du möchtest nach "Funkgeräte" suchen. Nach der Ausführung des Makros wird unterhalb des gefundenen Eintrags eine neue Zeile eingefügt, um zusätzliche Informationen oder Daten hinzuzufügen.


Tipps für Profis

  • Du kannst die Zeilenhöhe anpassen, indem Du Rows(c.Row + 1).RowHeight = 20 im Code änderst. Setze den Wert auf die gewünschte Höhe.
  • Um den Code robuster zu gestalten, füge eine Fehlerbehandlungsroutine hinzu, um unerwartete Fehler abzufangen.

FAQ: Häufige Fragen

1. Frage
Wie kann ich das Makro für mehrere Suchbegriffe verwenden?
Antwort: Du kannst eine Schleife einfügen, um mehrere Begriffe nacheinander zu durchsuchen und entsprechende Zeilen einzufügen.

2. Frage
Kann ich das Makro anpassen, um die Zeilenhöhe je nach Inhalt zu ändern?
Antwort: Ja, Du kannst eine Bedingung hinzufügen, die die Zeilenhöhe basierend auf dem Inhalt der gefundenen Zeile anpasst.

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