Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
148to152
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
148to152
148to152
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

In Zellen suchen und kopieren

In Zellen suchen und kopieren
15.08.2002 08:06:25
Willie
Hallo kann mir jemand auf die Schnelle helfen?
Ich muß in einem Tabellenblatt alle Zellen suchen in der Spalte C in denen die Buchtabenkombination lg oder LG enthalten sind.
Das funktionier solange bis die Kombination nicht mehr enthalten ist es kommt die Fehler Meldung:
Laufzeitfehler '91' Objektvariable oder With-Block variable ist nicht festgelegt!
Ich mache VBA noch nicht solange, dass ich das richtig verstehe, was damit gemeint ist.Kann man das Makro auch noch optimieren, damit auf
dem Tabellenblatt2 keine Leeren Zellen entstehen?
Mein Makro ist so aus:


Sub LG_suchen()
x = 2
Do
Sheets("Tabelle1").Activate
Sheets("Tabelle1").Select
Cells(x, 3).Select
If Selection.Find(What:="lg", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False) = "" Then
End If
Selection.FindNext(After:=Cells(x, 3)).Activate
Selection.Copy
Sheets("Tabelle2").Activate
Cells(x, 1).Select
ActiveSheet.Paste
'Selection.FindNext(After:=ActiveCell).Activate

x = x + 1
Sheets("Tabelle1").Activate
Loop Until Cells(x, 3) = ""
Cells(1, 3).Select

MsgBox x
End Sub



11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: In Zellen suchen und kopieren
15.08.2002 11:16:52
Charlie
Hallo, Willie!

Durch das unzähligen Activaten und Selecten ist der Code etwas schwer lesbar. Ich hoffe, dass ich nicht allzu viel vermurkst habe.

Folgendes Makro sucht in der Aktiven Tabelle in Spalte C Zellen, die das Suchkriterium (teilweise) enthalten und kopiert sie in Tabelle2 an die gleiche Position:

Noch ein Tipp:
Hans predigt immer, dass man den Cursor nach Möglichkeit dort lassen soll, wo er ist. Es ist in VBA für die meisten Aktionen auch gar nicht notwendig, etwas zu activaten oder zu selecten. Solches Herumgehüpfe macht a) den Code schwer lesbar und b) das Makro langsam. Stell Dir vor, Du musst in Spalte C hunderte Zeilen durchsuchen, dann kostet das Auswählen der Quellzelle, das Aktivieren der Tabelle2, Auswählen der Zielzelle, Einfügen und wieder Aktivieren der vorigen Tabelle enorm Zeit.

Viel Erfolg,
Charlie
P.S.: Meine Kommentare im Code sollen Dir die Funktionsweise des Makros erklären. Diese Zeilen kannst Du natürlich löschen.

Anzeige
Re: In Zellen suchen und kopieren
15.08.2002 12:38:36
Willie
Danke Charlie
Das funktioniert perfekt! Vielen Dank für die Hilfe!
Gruß

Willie

Re: In Zellen suchen und kopieren
15.08.2002 12:59:55
Willie
Danke Charlie
Das funktioniert perfekt! Vielen Dank für die Hilfe!
Ich habe da noch so einen Fall mit hin und her.
Wenn ich das nicht peformander hin bekomme kann ich dich
da nochmal um Hilfe bitten?
Ich mache das VBA erst seit 2 Monaten.... Es macht aber
total viel Spaß und wenn man dann so schnell hilfe bekommt -
dann macht es noch mehr Spaß
Gruß

Willie

Re: In Zellen suchen und kopieren
15.08.2002 13:00:06
Willie
Danke Charlie
Das funktioniert perfekt! Vielen Dank für die Hilfe!
Ich habe da noch so einen Fall mit hin und her.
Wenn ich das nicht peformander hin bekomme kann ich dich
da nochmal um Hilfe bitten?
Ich mache das VBA erst seit 2 Monaten.... Es macht aber
total viel Spaß und wenn man dann so schnell hilfe bekommt -
dann macht es noch mehr Spaß
Gruß

Willie

Anzeige
Re: In Zellen suchen und kopieren
15.08.2002 13:18:08
Charlie
Hallo, Willie!

Na klar, das sollst Du auch, denn wozu ist denn das Forum da?

Schön, dass Du Gefallen an VBA gefunden hast. Und lass Dich nicht entmutigen: Aller Anfang ist schwer.

Ich hoffe, dass Du meine Nörgeln am Aktivieren und Selektieren nicht negativ siehst. Aber es ist wie allgemein im Leben: Schlechte Angewohnheiten wird man nur schwer los. Daher halte ich es für umso wichtiger, dass Du Dir von Anfang an einen sauberen und klaren Programmierstil aneignest.

Excel ist nicht so schwer von Begriff, wie man vielleicht manchmal glaubt. Man muss Excel nicht ständig bei der Hand nehmen, bei der Arbeit herumführen und auf alles die Nase draufstossen. "Referenzieren" ist das Zauberwort: Man muss Excel nur ganz genau erklären, was zu tun ist, dann wird es auch erledigt. Und was für uns Menschen gesund ist, nämlich ausreichend Bewegung machen, ist für VBA ganz im Gegenteil nur schlecht.

Viel Spaß noch mit VBA und mach nicht den Fehler, im stillen Kämmerlein zu verzweifeln. Die (Dauer-)Gäste in diesem Forum werden Dir immer mit Rat und Tat zur Seite stehen.

Viel Erfolg,
Charlie

Anzeige
Re: In Zellen suchen und kopieren
15.08.2002 13:24:57
Willie
Danke für das Angebot!
Ich habe nur 2 Bücher die ich in der Zwischenzeit nur noch
als Nachschlagewerke benutzte. Gezeigt oder erklärt hat mir
nie jemad etwas über VBA.

Gruß

Willie

Re: In Zellen suchen und kopieren
15.08.2002 13:51:55
Charlie
Hallo, Willie!

Ich habe es von Anfang an so gehalten: Learning By Doing!!

Nichts gegen die vielen Buchautoren, die versuchen, ihr Wissen in dieser Form weiterzugeben und sich ihre Brötchen damit zu verdienen. Aber ich persönlich kenne kein Buch, das über die Funktion eines Nachschlagewerkes hinauskommt, mag es auch noch so gute Kritiken bekommen haben. Klar, wenn man ein gutes VBA-Buch (vor dem PC sitzend) liest, lernt man Makros zu schreiben. Aber VBA-Programmierung geht meines Erachtens weit darüber hinaus.

Ich habe den Umstieg von der Excel4-Makro-Programmierung nur mit Hilfe diverser VBA-Seiten im Internet, einigen Excelforen (ganz speziell dieses hier, auf das ich mich schon lange ausschließlich "spezialisiert" habe) und ganz wichtig: den Utilities von Hans (Freeware-Downloads, Excel-CD und Tutorial) geschafft. Gute (vielleicht auch entsprechend kommentierte) Makrobeispiele zu analysieren und nachvollziehen hat mir persönlich am meisten gebracht.

Wenn Du in einem Beispielcode neue Befehle entdeckst, positioniere den Cursor auf den Befehl und drücke dann die F1-Taste. Die Onlinehilfe ist meines Erachtens viel besser als man von ihr oft behauptet.

Selbst wenn Du VBA-Seminare besuchst, hörst Du dort doch auch nur das, was der Trainer subjektiv für wichtig und richtig hält. Und wer sagt, dass das für Dich genau so wichtig und richtig ist? Ich bin (wie wahrscheinlich viele andere im Forum) auch "Autodidakt" und ich glaube, dass ich (auch hier im Forum) schon einige knifflige Probleme ganz brauchbar gelöst habe.

Bis dann,
Charlie

Anzeige
Re: In Zellen suchen und kopieren
16.08.2002 07:29:43
Willie
Guten Morgen Charlie
Um was muß ich den deinen Script erweitern, wenn ich die Zeile der
gefunden Zelle habe - damit ich diese Aktive Zeile komplett kopieren kann(Spalte A bis BG)? Und auf dem Zielblatt danach die Leeren Zeilen löschen kann.

Willie

P.S. Ich suche auch nur noch auf dieser Seite nach Lösungen.
mit der Online-Hilfe war auch ein guter Tipp!

Re: In Zellen suchen und kopieren
16.08.2002 08:31:18
Charlie
Hallo, Willie!

Du musst den Code nicht erweitern. Wie Du den Bereich A bis BG der Fundzeile ansprichst, habe ich Dir im Code (Kommentar) beschrieben. Das Löschen der leeren Zeilen im Zielblatt verstehe ich so, dass die kopierten Daten in der Tabelle2 direkt untereinander stehen sollen. Das kannst Du - wie habe ich im Kommentar auch beschrieben - vermeiden, indem Du die Daten gleich an die richtige Position, nämlich unmittelbar untereinander in die Zieltabelle kopierst.

Und schon wieder haben wir ein gutes Beispiel, wie man es nicht machen soll: Nicht gleich einmal loslegen und dann das vorige Ergebnis korrigieren, sondern besser gleich das gewünschte Ergebnis in einem Arbeitsgang anpeilen! ;)

Viel Erfolg,
Charlie

Anzeige
Re: In Zellen suchen und kopieren
16.08.2002 09:28:00
Willie
Danke Charlie

Klappt alles bestens. Ich mache das auch nur freiwillig!
Für unseren Verein. Aber du kennst das ja betimmt auch.
Hast du ein Ergebnis, dann kommt der nächte und will noch mehr.
So er ging es mir gestern Abend!Sorry
Trotzallem nochmals danke!

Re: In Zellen suchen und kopieren
16.08.2002 10:00:22
Charlie
Hallo, Willie!

Wofür das "Sorry"?

Du hast da scheinbar etwas missverstanden:
"Und schon wieder haben wir ein gutes Beispiel, wie man es nicht machen soll: Nicht gleich einmal loslegen und dann das vorige Ergebnis korrigieren, sondern besser gleich das gewünschte Ergebnis in einem Arbeitsgang anpeilen! ;)" war nur bezogen auf das Kopieren an die gleiche Stelle und dann das Löschen der überflüssigen Leerzeilen.

Das habe ich überhaupt nicht auf Dich bezogen und war nur als weiterer Hinweis gedacht, wie du die VBA-Programmierung möglichst effizient gestalten solltest bzw. kannst.

Viele Grüße,
Charlie


Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige