AW: Makro wird ungewollt in anderer Tabelle ausgeführt
17.02.2006 00:23:54
Peter
Hallo Luschi
Ich muss trotzdem nochmals nachfragen:
Du hast ws den Worksheet-Namen "nachUmstellung" zugewiesen. Die Quelldatei ist jedoch "vorUmstellung" - diese ist, wenn ich es richtig sehe, nicht definiert. Ich nehme an, dass ich einen weiteren Variablen den zweiten Worksheet-Namen zuweisen muss, oder habe ich das ganze nicht begriffen?
Ich habe nachfolgend den ganzen Code vom
Sub Übertrag reinkopiert, damit ersichtlich ist, was ich mache (vielleicht viel zu kompliziert).
Zuerst fülle ich die Spaltenbezeichnungen in der Zieltabelle ein, dann frage ich die einzelnen Zeilen in der Quelltabelle ab - aus jeder Zeile in der Quelltabelle gibt es zwei Zeilen in der Zieltabelle.
Sub Übertrag()
Dim Konto As String
Dim Gkonto As String
Dim Betrag As String
Dim Tx1 As String
Dim Datum As String
ThisWorkbook.Activate
Application.ScreenUpdating = False
Datum = InputBox("Bitte Datum eingeben!")
Debug.Print Datum
Gkonto = InputBox("Bitte GKonto eingeben!")
Debug.Print Gkonto
Sheets("nachUmstellung").Select 'Zieldatei anwählen
Cells.Select
Selection.ClearContents 'alle Zellen löschen
Application.Goto reference:="R1C1" 'Ausgangsposition in Zieldatei anwählen
ActiveCell = "Blg"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Datum"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Kto"
ActiveCell.Offset(0, 1).Select
ActiveCell = "S/H"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Grp"
ActiveCell.Offset(0, 1).Select
ActiveCell = "GKto"
ActiveCell.Offset(0, 1).Select
ActiveCell = "SId"
ActiveCell.Offset(0, 1).Select
ActiveCell = "SIdx"
ActiveCell.Offset(0, 1).Select
ActiveCell = "KIdx"
ActiveCell.Offset(0, 1).Select
ActiveCell = "BTyp"
ActiveCell.Offset(0, 1).Select
ActiveCell = "MTyp"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Code"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Netto"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Steuer"
ActiveCell.Offset(0, 1).Select
ActiveCell = "FW-Betrag"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Tx1"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Tx2"
ActiveCell.Offset(0, 1).Select
ActiveCell = "PkKey"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Opld"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Flag"
ActiveCell.Offset(1, -18).Select
Sheets("vorUmstellung").Select 'Quelldatei anwählen
Application.Goto reference:="R2C1" 'Ausgangsposition in Quelldatei anwählen
Do While ActiveCell <> "" 'Schlaufe bis kein weiterer Datensatz vorhanden
Konto = ActiveCell
ActiveCell.Offset(0, 2).Select
Tx1 = ActiveCell
ActiveCell.Offset(0, 4).Select
Betrag = ActiveCell * -1
ActiveCell.Offset(1, -6).Select
Sheets("nachUmstellung").Select
ActiveCell = Datum
ActiveCell.Offset(0, 1).Select
ActiveCell = Gkonto
ActiveCell.Offset(0, 1).Select
ActiveCell = "S"
ActiveCell.Offset(0, 2).Select
ActiveCell = Konto
ActiveCell.Offset(0, 7).Select
ActiveCell = Betrag
ActiveCell.Offset(0, 1).Select
ActiveCell = 0
ActiveCell.Offset(0, 2).Select
ActiveCell = Tx1
ActiveCell.Offset(1, -14).Select
ActiveCell = Datum
ActiveCell.Offset(0, 1).Select
ActiveCell = Konto
ActiveCell.Offset(0, 1).Select
ActiveCell = "H"
ActiveCell.Offset(0, 2).Select
ActiveCell = Gkonto
ActiveCell.Offset(0, 7).Select
ActiveCell = Betrag
ActiveCell.Offset(0, 1).Select
Sub Übertrag()
Dim Konto As String
Dim Gkonto As String
Dim Betrag As String
Dim Tx1 As String
Dim Datum As String
ThisWorkbook.Activate
Application.ScreenUpdating = False
Datum = InputBox("Bitte Datum eingeben!")
Debug.Print Datum
Gkonto = InputBox("Bitte GKonto eingeben!")
Debug.Print Gkonto
Sheets("nachUmstellung").Select 'Zieldatei anwählen
Cells.Select
Selection.ClearContents 'alle Zellen löschen
Application.Goto reference:="R1C1" 'Ausgangsposition in Zieldatei anwählen
ActiveCell = "Blg"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Datum"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Kto"
ActiveCell.Offset(0, 1).Select
ActiveCell = "S/H"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Grp"
ActiveCell.Offset(0, 1).Select
ActiveCell = "GKto"
ActiveCell.Offset(0, 1).Select
ActiveCell = "SId"
ActiveCell.Offset(0, 1).Select
ActiveCell = "SIdx"
ActiveCell.Offset(0, 1).Select
ActiveCell = "KIdx"
ActiveCell.Offset(0, 1).Select
ActiveCell = "BTyp"
ActiveCell.Offset(0, 1).Select
ActiveCell = "MTyp"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Code"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Netto"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Steuer"
ActiveCell.Offset(0, 1).Select
ActiveCell = "FW-Betrag"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Tx1"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Tx2"
ActiveCell.Offset(0, 1).Select
ActiveCell = "PkKey"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Opld"
ActiveCell.Offset(0, 1).Select
ActiveCell = "Flag"
ActiveCell.Offset(1, -18).Select
Sheets("vorUmstellung").Select 'Quelldatei anwählen
Application.Goto reference:="R2C1" 'Ausgangsposition in Quelldatei anwählen
Do While ActiveCell <> "" 'Schlaufe bis kein weiterer Datensatz vorhanden
Konto = ActiveCell
ActiveCell.Offset(0, 2).Select
Tx1 = ActiveCell
ActiveCell.Offset(0, 4).Select
Betrag = ActiveCell * -1
ActiveCell.Offset(1, -6).Select
Sheets("nachUmstellung").Select
ActiveCell = Datum
ActiveCell.Offset(0, 1).Select
ActiveCell = Gkonto
ActiveCell.Offset(0, 1).Select
ActiveCell = "S"
ActiveCell.Offset(0, 2).Select
ActiveCell = Konto
ActiveCell.Offset(0, 7).Select
ActiveCell = Betrag
ActiveCell.Offset(0, 1).Select
ActiveCell = 0
ActiveCell.Offset(0, 2).Select
ActiveCell = Tx1
ActiveCell.Offset(1, -14).Select
ActiveCell = Datum
ActiveCell.Offset(0, 1).Select
ActiveCell = Konto
ActiveCell.Offset(0, 1).Select
ActiveCell = "H"
ActiveCell.Offset(0, 2).Select
ActiveCell = Gkonto
ActiveCell.Offset(0, 7).Select
ActiveCell = Betrag
ActiveCell.Offset(0, 1).Select
ActiveCell = 0
ActiveCell.Offset(0, 2).Select
ActiveCell = Tx1
ActiveCell.Offset(1, -14).Select
Sheets("vorUmstellung").Select
Loop
Sheets("nachUmstellung").Select
Application.ScreenUpdating = True
End Sub