Daten in anderes Tabellenblatt übertragen
12.12.2003 11:21:39
Ilona
ich hoffe mir kann jemand bei meinem Problem helfen.
Folgendes:
im Tabellenblatt Import werden Daten aufgelistet. In Spalte A werden verschiedene Einteilungen aufgeführt, z.B. Umsätze aus Belegen, Umsätze aus Kassenbelegen Kasse 1, Umsätze aus Kassenbelegen Kasse 2, usw.. Zu jeder Einteilung gehören verschieden viele Daten. Die werden in den Spalten B-L ausgegeben.
Für jede Einteilung lasse ich ein Tabellenblatt anlegen, welches den Namen der Einteilung erhält. Nun möchte ich die zugehörigen Daten in den neu angelegten Tabellenblatt ausgeben.
Da ich nicht weiß wie viele Daten dazugehören (ist immer unterschiedlich), weiß ich auch nicht wie sagen soll ab welcher Zeile bis zu welcher Zeile die Daten stehen.
Wenn die Einteilung wechselt muss ja ein neues Tabellenblatt angelegt werden.
Hier mal mein Code.
Sub TabellenblattEinfuegen()
Dim LineIndex As Long
Dim OutIndex As Long
Dim TabName As String
Dim Z As Long
Dim S As Integer
Dim Bis As Long
LineIndex = 8
OutIndex = 5
Worksheets("Import").Activate
Range("A8").Select
For Z = 1 To ActiveSheet.UsedRange.Rows.Count
ActiveCell.Replace What:=":", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
ActiveCell.Offset(1, 0).Select
Next
Range("A8").Select
Do While LineIndex <> Worksheets("Import").UsedRange.Rows.Count
TabName = Worksheets("Import").Cells(LineIndex, 1)
If Worksheets("Import").Cells(LineIndex, 1) <> "" Then
ActiveWorkbook.Sheets.Add After:=ActiveSheet
If Worksheets("Import").Cells(LineIndex, 1) = "Umsätze in Belegen" Then
'Leerzeilen zählen
Find
ActiveSheet.Name = TabName
ActiveSheet.Cells(3, 1).Value = TabName
Range("A6").Select
' von Zeile bis Zeile sind die Daten
For Z = LineIndex + 1 To Bis
' von Spalte bis Spalte stehen die Daten
For S = 2 To 12
ActiveCell.Value = Worksheets("Import").Cells(Z, S)
Worksheets(TabName).Activate
ActiveCell.Offset(0, 1).Select
Next
Worksheets(TabName).Activate
ActiveCell.Offset(1, -11).Select
Next
Else
ActiveSheet.Name = WorksheetFunction.Replace(TabName, 12, 14, "")
ActiveSheet.Cells(3, 1).Value = WorksheetFunction.Replace(TabName, 12, 14, "")
End If
End If
LineIndex = LineIndex + 1
Loop
Worksheets("Import").Activate
End Sub
Die Variable Bis muss irgendwo die Zeilennummer herbekommen.
Das ist aber erstmal nur für die erste Einteilung, die anderen müssen dann auch noch funktionieren.
Vielen Dank schon mal für eure Hilfe
ILONA