Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
152to156
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
152to156
152to156
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellinhalt suchen, ganze Zeile kopieren

Zellinhalt suchen, ganze Zeile kopieren
28.08.2002 22:23:27
Peter
Hallo Forum,
ich will nach bestimmten Zellinhalten suchen und dann die ganze Zeile in ein anderes Blatt kopieren. In der Recherche fand ich den passenden Code.
Die Überschriftenzeile und die erste "SuchZeile" wird ins neue Blatt kopiert, dann hängt sich Excel auf. Warum nur ?.
Dank für jeden Hinweis.
Peter

Sub ArtikelSuchenKopieren()
'Sucht einen Begriff in einem bestimmten Blatt,
'und kopiert die Ergebnisse in ein anderes Blatt

Static Suchbegriff As String
Dim Zelle, ErsteAdresse, ArbeitsblattDaten, ArbeitsblattErgebnis As String
Dim LetzteZelle, intCount As Integer
Application.ScreenUpdating = False

ArbeitsblattDaten = "Tabelle1" 'Tabelle, in der gesucht wird
ArbeitsblattErgebnis = "Tabelle2" 'Tabelle, in der die Ergebnisse stehen

Sheets(ArbeitsblattErgebnis).Cells.Clear 'Alte Tabelleninhalte löschen
Suchbegriff = InputBox(Prompt:="Bitte Suchbegriff eingeben:", Default:=Suchbegriff)
If Suchbegriff = "" Then Exit Sub

Sheets(ArbeitsblattDaten).Activate
Rows(1).Copy 'Überschriftenzeile kopieren ...
Sheets(ArbeitsblattErgebnis).Select
Range("a1").Select
ActiveSheet.Paste '... und in dem anderen Tabellenblatt einfügen

Sheets(ArbeitsblattDaten).Activate
With ActiveSheet.UsedRange
Set Zelle = .Find(Suchbegriff, LookIn:=xlValues)
If Not Zelle Is Nothing Then
ErsteAdresse = Zelle.Address
Do
LetzteZelle = Sheets(ArbeitsblattErgebnis).Cells(Cells.Rows.Count, 1).End(xlUp).Row
Rows(Zelle.Row).Copy

Sheets(ArbeitsblattErgebnis).Select
Cells(LetzteZelle + 1, 1).Select
ActiveSheet.Paste
Sheets(ArbeitsblattDaten).Activate
Set Zelle = .FindNext(Zelle)
Loop While Not Zelle Is Nothing And Zelle.Address <> ErsteAdresse
End If

Sheets(ArbeitsblattErgebnis).Select
Range("a1").Select
End With

Application.CutCopyMode = xlCopy
Application.ScreenUpdating = True

End Sub

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

Betreff
Datum
Anwender
Anzeige
Re: Zellinhalt suchen, ganze Zeile kopieren
29.08.2002 01:43:45
L.Vira
Leider ist der Code alles andere als gut, das Ganze geht ohne ein einziges Select oder activate. Nur mal ein Beispiel für das Kopieren der Überschriften:

Sheets(ArbeitsblattDaten).Rows(1).Copy destination:= _
Sheets(ArbeitsblattErgebnis).[a1]

Re: Zellinhalt suchen, ganze Zeile kopieren
29.08.2002 02:10:05
Charlie
Hallo Peter,

ich schließe mich der Meinung von L.Vira vollinhaltlich an.
Weniger Selecten und Activaten macht den Code 1) übersichtlicher, 2) schneller und 3) weniger fehleranfällgi. Durch das ständige Wechseln zwischen Quell- und Zieldatenblatt verliert man zu schnell die Übersicht und dann passieren Fehler beim Ansprechen der Cells(...). Einmal mit Punkt davor, einmal ohne Punkt davor, je nachdem, welches Blatt aktiv und welches Blatt angesprochen werden soll. Ich habe mir daher erlaubt, am Code herum zu schnipseln. Hier eine Lösung, die nur durch Referenzierung alles reibungslos erledigt:

Viel Erfolg,
Charlie

Anzeige
Re: Zellinhalt suchen, ganze Zeile kopieren
29.08.2002 07:34:09
Es klappt !
Danke für die schnelle Lösung.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige