Makros aus der Hosentasche heraus zu erklären ist schier unmöglich.
Was dein Beispiel angeht - ich würde es händisch in Angriff nehmen. Zwischenbemerkung: wir müssten für das 2. von mir angegebene Konzept wissen was das alles zu verkuppeln wäre.
Nun aber zu meiner Lösungsidee.
1. Kopiere den ganzen Block aus Excel.
2. Klebe ihn in Word ein - aber
ohne Formatierung!
3. Max: 34 J, → [Name] - Doppelpunkt - Leerzeichen - [Alter] - Leerzeichen - Buchstabe J (groß) - Komma - Leerzeichen…
Was du eingekelbt bekommst sieht so aus (Wenn du mit dem ¶-Symbol mal die Sonderzeichen Sichtbar machst.
Max → 34¶
Anton → 12¶
Siegfried → 34¶
4. alles Eingeklebte markieren.
4A. Suchen/Ersetzen «^t» (Caret, kleines t ≡ Tabulator) durch «: » (Doppelpunkt, Leerzeichen) - nur in der Markierung, nicht dokumentweit
4B. Suchen/Ersetzen «^p» (p wie ‹Paragraph› = Absatz) dirch « J, » (Leerzeichen, J, Komma, Leerzeichen)
5. Hinten dürfte nun wieder eine Absatzschaltung ¶ nötig sein.
Das sieht wild aus, ist aber shneller als man denkt.
Für Excel gäbe es mehrere Ansätze. Hier Trickse ich da es bequem nur 2 Spalten sind. Weiderum in Excel alles markieren [man muss ja wissen was zu verarbeiten ist ← hatte ich oben ja erwähnt]:
Code:
Sub Täscht()
Dim I As Integer
Dim Zeile As String
Dim Z As Range
Zeile = ""
I = 0
For Each Z In Selection
I = I + 1
If I Mod 2 <> 0 Then
Zeile = Zeile & Z & ": "
Else
Zeile = Zeile & Z & " J, "
End If
Next
Debug.Print Zeile
Set Ablage = New dataobject
Ablage.GetFromClipboard
Ablage.SetText Inhalt
Ablage.PutInClipboard
End Sub
I ist durch einfach Hochzählen mal gerade und mal ungerade - das erfasse ich mit Mod. Die Zellen in der Markierung werden Zeilenweise abgelaufen. Je nach dem wir entsprechend die Zeile zusammenaddiert. Im lertzen teil landet alles in der Zwischenablage (als unformatierter Klartext) der nun in Word eingeklebt werden kann.
Wie gesagt diese Makro ist ein wenig… gebastelt…
CN8