Ich verstehe immer noch nicht Deinen Request ganz richtig.
Trotzdem mal ein Versuch...
Also angenommen das hier bringst Du ins Excel, dann wär das schon mal der 1. Schritt.
(http://www.atnotes.de/attachments/list753.gif)
Dann einfach mal mit dem Makro-Recorder experimentieren.
Also: Makro aufzeichnen, dann z.B. neue Zeile zwischen Stadt und Datum einfügen, dann STOP und Code ansehen. Diesen Code dann "merken".
In die leere Spalte kannst Du dann z.B. eine Formel für die Quartalsermittlung einfügen (z.B. =AUFRUNDEN(MONAT(C1)/3;0)&". Quartal" )
Und so stückchenweise Dein Makro zusammenzimmern.
Noch zum Thema "Die Anzahl der Zeilen ist variabel", hier eine Funktion, um die letzte Zeile einer Tabelle mit Daten zu ermitteln:
Public Function GetLastRow(vWS As Variant, Optional X As Long = 1) As Long
'Die Funktion wird wie folgt aufgerufen:
'Y = GetLastRow( "Tabelle1")
'
' Als ersten Parameter können Sie den Namen einer
' Tabelle oder eine Objektverweis auf einen Worksheet
' übergeben. Der Zweite Parameter ist optional und gibt
' die Spalte an die abgetestet werden soll.
Dim Y As Long
Dim ws As Worksheet
On Error GoTo PROC_ERR
Select Case UCase(TypeName(vWS))
Case "STRING"
Set ws = Worksheets(vWS)
Case "WORKSHEET"
Set ws = vWS
Case Else
GoTo PROC_ERR
End Select
With ws
Y = .Rows.Count
GetLastRow = .Cells(Y, X).End(xlUp).Row
End With
PROC_EXIT:
Exit Function
PROC_ERR:
GetLastRow = -1
Resume PROC_EXIT
End Function
usw...
hth,
TMC
** edit **
war noch ein Fehler drin....