Makro zum Suchen und Umkopieren

29/01/2009 - 20:13 von Jörg Burzeja | Report spam
Hallo,

ich habe eine Tabelle, die in Spalte A so aussieht:

SummeA
eins
zwei
drei
NameR
eins
zwei
SummeB
eins
zwei
drei
vier
NameU

Dies soll in eine neue Registerkarte 'Ausgabe' übertragen werden, und zwar:
S1 S2
NameR SummeA
NameU SummeB

Von der Funktion her soll also beginnend von A1 nach dem ersten
Teilstring 'Nam' gesucht, Inhalt kopiert und übertragen werden, dann der
davor liegende Teilstring 'Sum' gesucht werden, Inhalt kopiert und
übertragen werden,

und weiter mit dem zweiten Teilstring 'Nam', ... bis keiner mehr
gefunden wird.

Ich denke, mit einem Makro müsste das zu lösen sein, und es scheint auch
nicht so aufwendig, aber für mich würde es derzeit noch sehr viel
Zeitaufwand erfordern.

Könnte mir vielleicht hierbei jemand helfen?

Besten Dank im voraus.


Version: Office 2007

Viele Grüsse

Jörg
 

Lesen sie die antworten

#1 Dietmar Vollmeier
29/01/2009 - 21:12 | Warnen spam
Servus Jörg!

*Jörg Burzeja* schrieb am 29.01.2009 um 20:13 Uhr...
ich habe eine Tabelle, die in Spalte A so aussieht:

SummeA
eins
zwei
drei
NameR
eins
zwei
SummeB
eins
zwei
drei
vier
NameU

Dies soll in eine neue Registerkarte 'Ausgabe' übertragen werden, und zwar:
S1 S2
NameR SummeA
NameU SummeB

[...]
Könnte mir vielleicht hierbei jemand helfen?



Wenn der Aufbau deiner Tabelle stets gleich ist, daß *SummeX* vor
*NameY* steht, sollte es mit diesem Makro funktionieren.

Die Variablen *WS* und *z* mußt du noch an deine Tabelle anpassen

8<[ *Makro* ]>8
Sub SuchenUndKopieren()
Dim i, z, lRow As Long
Dim WS As String

'Name des Tabellenblattes mit den Grunddaten
WS = "Tabelle1"
'Erste Zeile in der Tabelle "Ausgabe"
z = 1

With Worksheets(WS)
lRow = .Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To lRow
Select Case Left(.Range("A" & i).Value, 4)
Case "Summ"
Worksheets("Ausgabe").Range("B" & z).Value = .Range("A" & i).Value
Case "Name"
Worksheets("Ausgabe").Range("A" & z).Value = .Range("A" & i).Value
z = z + 1
End Select
Next
End With
End Sub
8<-->8

Besten Dank im voraus.




HTH und tschüss,
Didi
"640K sollten genug für jeden sein."

Ähnliche fragen