Daten in anderes Tabellenblatt übertragen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Daten in anderes Tabellenblatt übertragen
von: Ilona
Geschrieben am: 12.12.2003 11:21:39

Hallo an alle,
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
Bild


Betrifft: AW: Daten in anderes Tabellenblatt übertragen
von: AndreasS
Geschrieben am: 12.12.2003 13:03:14

Hallo,
vielleicht hilft dir das weiter:


Sub Übertragen()
Application.ScreenUpdating = False
Dim rngFind As Range
Dim strFind As String
Dim iRow As Integer
Set rngFind = Cells.find(what:="Suchbegriff(Bsp. Kasse 2)", after:=ActiveCell, LookIn:=xlValues, lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
    If Not rngFind Is Nothing Then
        firstaddress = rngFind.Address
            Do
                Set rngFind = Cells.FindNext(rngFind)
                    If rngFind Is Nothing Then
                        MsgBox "Daten wurden nicht gefunden!"
                        Exit Sub
                    End If
                    rngFind.EntireRow.Select
    With Worksheets("yxz")
    iRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
    ActiveCell.EntireRow.Copy Worksheets("xyz").Rows(iRow)
    .Columns.AutoFit
    End With
            Loop While Not rngFind Is Nothing And rngFind.Address <> firstaddress
    End If
Worksheets("xyz").Activate
Application.ScreenUpdating = True
End Sub


Gruß Andreas


Bild

Beiträge aus den Excel-Beispielen zum Thema " Daten in anderes Tabellenblatt übertragen"