Text in Zeilen und Spalten suchen und kopieren

09/07/2009 - 19:25 von Jörg Burzeja | Report spam
Hallo,

ich habe eine recht grosse (unübersichtliche) Exceltabelle.

Ab Spalte G im Tabellenblatt Daten finden sich in Zeilen und Spalten
Begriffe - zum Beispiel XX.

Das XX soll nun in Spalte G gefunden werden, und die Spaltenüberschrift
in das Tabellenblatt Export, ebenfalls Spalte G, gleiche Zeile,
eingetragen werden (ansonsten soll kein Eintrag erfolgen).

Soweit geht das noch mit meinen VBA-Kenntnissen.

Dann soll die nàchste Spalte H (dann I, J, ...bis letzen Eintrag)
durchsucht werden, und bei einem Treffer ebenfalls die
Spaltenüberschrift in das Tabellenblatt Export, wieder Spalte G, gleiche
Zeile, erfolgen.

Nun gibt es noch eine Besonderheit. XX kommt bei den einigen Datensàtzen
in den Zeilen hàufiger vor. In dem Fall darf nicht überschrieben werden,
sondern es soll die jeweils nàchste freie Spalte ab G gewàhlt werden.

Danke schon mal im voraus.

Viele Grüsse

Jörg
 

Lesen sie die antworten

#1 Andreas Killer
09/07/2009 - 19:41 | Warnen spam
Jörg Burzeja schrieb:

Ab Spalte G im Tabellenblatt Daten finden sich in Zeilen und Spalten
Begriffe - zum Beispiel XX.

Das XX soll nun in Spalte G gefunden werden, und die Spaltenüberschrift
in das Tabellenblatt Export, ebenfalls Spalte G, gleiche Zeile,
eingetragen werden (ansonsten soll kein Eintrag erfolgen).

Soweit geht das noch mit meinen VBA-Kenntnissen.


Wenn Du das schon hast, dann musst Du es nur in eine eigenstàndige
Function schreiben und die Suchoptionen (Was, Welche Spalte, Wohin...)
als Parameter übergeben und sie gibt Dir einen Boolean zurück der
besagt ausgeführt oder nicht.

Dann soll die nàchste Spalte H (dann I, J, ...bis letzen Eintrag)
durchsucht werden, und bei einem Treffer ebenfalls die
Spaltenüberschrift in das Tabellenblatt Export, wieder Spalte G, gleiche
Zeile, erfolgen.


Das erledigst Du dann auch mit obiger Function.

Nun gibt es noch eine Besonderheit. XX kommt bei den einigen Datensàtzen
in den Zeilen hàufiger vor. In dem Fall darf nicht überschrieben werden,
sondern es soll die jeweils nàchste freie Spalte ab G gewàhlt werden.


Das wàre dann ein Spezialfall, den müsstest Du vorher prüfen.

Schau Dir mal das Beispiel zu .Find in der Hilfe an, baue es für Deine
Belange um und integriere einen Zàhler für jeden Gefundenen Treffer.
Das ganze in eine Function schreiben und lass Sie das Ergebnis
zurückgeben. Ist es >1 dann ist der Fall gegeben.

Komplexere Verfahren teilt man in einzelne Schritte/Bausteine auf und
baut diese dann anhand der Zwischenergebnisse in einer Schleife zusammen.

Andreas.

Ähnliche fragen