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

Forumthread: Zelle finden und ganze Zeile kopieren

Zelle finden und ganze Zeile kopieren
Chrissi
Abend Leute,

Private Sub CommandButton1_Click()
Dim rng As Range
If TextBox1.Text = "" Then
Beep
MsgBox "Sie müssen in der ComboBox einen Suchbegriff auswählen!"
Exit Sub
End If
Set rng = Worksheets("Sender").Columns(3) _
.Find(TextBox1.Text, lookat:=xlWhole, LookIn:=xlValues)
If Not rng Is Nothing Then
'MsgBox "jawoll"
With Worksheets("Target")
iRow = .Cells(Rows.Count, 1).End(xlUp).row
If iRow = 1 Then iRow = 2 Else iRow = iRow + 3
Rows(i).Copy Worksheets("Target").Rows(j)
End With
Else
MsgBox "Suchbegriff wurde nicht gefunden!"
End If
Unload Me
End Sub

Ich will einen Wert suchen per VBA Userform, hier mal meine erste "Gehversuche". Also er soll den Wert von
Textbox1 finden, dann die ganze Zeile markieren und in das sheet "Target" reinkopieren.
Nur ich weiß nicht weiter...
Bitte helft mir
Beste Grüße Chris
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zelle finden und ganze Zeile kopieren
14.01.2012 02:51:04
Reinhard
Hallo Chrissi,
tausche mal
Rows(i).Copy Worksheets("Target").Rows(j)
gegen
rng.EntireRow.Copy Worksheets("Target").Rows(iRow)
Gruß
Reinhard
AW: Zelle finden und ganze Zeile kopieren
14.01.2012 19:53:46
Chrissi
super danke genau das war es !
AW: Zelle finden und ganze Zeile kopieren
14.01.2012 21:16:56
Chrissi
super danke genau das war es !
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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 ganze Zeile kopieren in Excel


Schritt-für-Schritt-Anleitung

Um eine Zelle zu finden und die gesamte Zeile in Excel zu kopieren, kannst Du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

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

  2. Füge eine UserForm hinzu: Klicke mit der rechten Maustaste auf dein Projekt, wähle Einfügen > UserForm.

  3. Füge ein Textfeld und einen Button hinzu: Ziehe ein Textfeld (TextBox1) und einen Button (CommandButton1) auf die UserForm.

  4. Kopiere den folgenden VBA-Code in das Codefenster der UserForm:

    Private Sub CommandButton1_Click()
        Dim rng As Range
        If TextBox1.Text = "" Then
            Beep
            MsgBox "Sie müssen in der ComboBox einen Suchbegriff auswählen!"
            Exit Sub
        End If
        Set rng = Worksheets("Sender").Columns(3).Find(TextBox1.Text, lookat:=xlWhole, LookIn:=xlValues)
        If Not rng Is Nothing Then
            With Worksheets("Target")
                iRow = .Cells(Rows.Count, 1).End(xlUp).Row
                If iRow = 1 Then iRow = 2 Else iRow = iRow + 3
                rng.EntireRow.Copy .Rows(iRow)
            End With
        Else
            MsgBox "Suchbegriff wurde nicht gefunden!"
        End If
        Unload Me
    End Sub
  5. Passe den Code an Deine Bedürfnisse an, insbesondere den Namen der Arbeitsblätter.

  6. Starte die UserForm und teste die Funktion.


Häufige Fehler und Lösungen

  • Fehler: "Suchbegriff wurde nicht gefunden!"

    • Lösung: Stelle sicher, dass der gesuchte Begriff wirklich in der Zielspalte vorhanden ist.
  • Fehler: "Sie müssen in der ComboBox einen Suchbegriff auswählen!"

    • Lösung: Überprüfe, ob das Textfeld leer ist, bevor Du auf den Button klickst.
  • Fehler: Der Code funktioniert nicht.

    • Lösung: Stelle sicher, dass Du die richtigen Arbeitsblattnamen verwendest und überprüfe, ob die Makros in Deiner Excel-Version aktiviert sind.

Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch die folgenden Methoden ausprobieren:

  • Filterfunktion: Verwende die Filterfunktion in Excel, um die gewünschte Zeile zu finden und manuell zu kopieren.
  • SVERWEIS und INDEX: Diese Funktionen können verwendet werden, um Daten zu suchen und zu kopieren, ohne VBA.

Praktische Beispiele

Hier ein Beispiel, wie der VBA-Code in der Praxis funktioniert:

Angenommen, Du hast in der Arbeitsmappe zwei Blätter: "Sender" und "Target". In der Spalte C des Blatts "Sender" stehen verschiedene Namen. Wenn Du im Textfeld TextBox1 den Namen "Max" eingibst und auf den Button klickst, wird die gesamte Zeile, in der "Max" steht, in das Blatt "Target" kopiert.


Tipps für Profis

  • Verwende Option Explicit: Dies hilft Dir, Fehler in Deinen Variablen zu vermeiden.
  • Fehlerbehandlung: Implementiere eine bessere Fehlerbehandlung, indem Du On Error GoTo verwendest, um unerwartete Fehler abzufangen.
  • Optimierung: Um die Leistung zu verbessern, kannst Du Application.ScreenUpdating = False und True um den Code blockieren, während Du die Zeile kopierst.

FAQ: Häufige Fragen

1. Kann ich den Code auch in Excel 2010 verwenden? Ja, der Code funktioniert in Excel 2010 und neueren Versionen.

2. Wie kann ich mehrere Zeilen kopieren? Du kannst eine Schleife verwenden, um mehrere Zeilen basierend auf einem Kriterium zu kopieren.

3. Was ist der Unterschied zwischen Rows(i).Copy und rng.EntireRow.Copy? Rows(i).Copy kopiert eine bestimmte Zeile, während rng.EntireRow.Copy die gesamte Zeile der gefundenen Zelle kopiert.

4. Wie kann ich den kopierten Inhalt an einer bestimmten Stelle einfügen? Du kannst die Zeile an der gewünschten Position einfügen, indem Du die Rows(iRow)-Referenz 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