Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
348to352
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
348to352
348to352
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten in anderes Tabellenblatt übertragen

Daten in anderes Tabellenblatt übertragen
12.12.2003 11:21:39
Ilona
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in anderes Tabellenblatt übertragen
12.12.2003 13:03:14
AndreasS
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
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige