Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
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
Inhaltsverzeichnis

Excel 2010 // Makro

Excel 2010 // Makro
03.05.2016 10:40:48
Keller
Hallo zusammen,
ich will mit einem Makro Werte von einer Excel-Datei (Buchungsbeleg.xls) in eine andere Excel-Datei (Cash Flow KSt-SolZ Zahlungen.xls) übertragen.
Auf dem Buchungsbeleg gibt man in einer Zelle ein Fälligkeitsdatum ein, z. B. 03.05.2016.
Die Datei Zahlungsinfodatei (Cash Flow..) ist in verschiedene Reiter unterteilt:
Jan 2016, Feb 2016, ... Mai 2016.
Der Übertrag funktioniert einwandfrei... jedoch nur weil ich bisher
Workbooks("Cash Flow KSt-SolZ Zahlungen.xls").Sheets("Mai 2016").Activate
direkt das richtige Sheet angegeben habe.
Gibt es eine Möglichkeit, dass er anhand des eingegebenen Fälligkeitsdatum
Fäll = ActiveWorkbook.ActiveSheet.Cells(9, 8) erkennt, in welchen Monat er die Daten übertragen soll?
Um die Verwirrung perfekt zu machen, anbei noch das Makro:
Option Explicit
Sub ÜbertragZahlungsinfo()
'Aus dem Buchungsbeleg sollen die Buchungen mit Zahlungsvorgang in die Zahlungsinfo übertragen   _
_
werden.
'J.Keller, 02.05.2016
Dim BKR, Datei As String
Dim GES, StArt, Betrag, Fäll, KSt, SolZ
Dim zeileQ, zeileZ
'_____________________________________________________________________________________________________
'Hier bitte innerhalb der Anführungszeichen die genaue Dateibezeichnung eintragen !!!!!
'Dabei ".xls" nicht vergessen !!
Datei = "Buchungsanweisung_Keller_KSt.xls"
'______________________________________________________________________________________________________
'Nachfolgende Schleife springt von Zeile zu Zeile und überträgt die Daten,
'wenn ein Betrag eingetragen ist
'Diese Schleife durchläuft den oberen Teil des Buchungsbeleges
zeileQ = 12  'erste Zeile mit Buchungen
Do
BKR = ActiveWorkbook.ActiveSheet.Cells(8, 2)            'Buchungskreis
GES = ActiveWorkbook.ActiveSheet.Cells(9, 2)            'Gesellschaft
StArt = ActiveWorkbook.ActiveSheet.Cells(zeileQ, 9)     'Steuerart
Betrag = ActiveWorkbook.ActiveSheet.Cells(zeileQ, 10)   'Betrag
Fäll = ActiveWorkbook.ActiveSheet.Cells(9, 8)           'Fälligkeit
KSt = ActiveWorkbook.ActiveSheet.Cells(zeileQ, 13)      'KSt
SolZ = ActiveWorkbook.ActiveSheet.Cells(zeileQ, 14)     'SolZ
If Betrag = "" Then GoTo Ziel1
'Wenn überhaupt kein Betrag eingetragen ist, erfolgt keine Übetragung an die SchnStelle
Workbooks("Cash Flow KSt-SolZ Zahlungen.xls").Sheets("Mai 2016").Activate    'Ansprechen  _
der Schnittstellen-Datei
'Nachfolgende Schleife sucht die erste freie Zeile auf dem Blatt Schnittstelle
zeileZ = 4
Do
zeileZ = zeileZ + 1
Loop Until ActiveWorkbook.ActiveSheet.Cells(zeileZ, 2) = ""
'Ab hier werden die entsprechenden Werte eingetragen
ActiveWorkbook.ActiveSheet.Cells(zeileZ, 1) = BKR
ActiveWorkbook.ActiveSheet.Cells(zeileZ, 2) = GES
ActiveWorkbook.ActiveSheet.Cells(zeileZ, 3) = StArt
ActiveWorkbook.ActiveSheet.Cells(zeileZ, 4) = Betrag
ActiveWorkbook.ActiveSheet.Cells(zeileZ, 5) = Fäll
ActiveWorkbook.ActiveSheet.Cells(zeileZ, 6) = KSt
ActiveWorkbook.ActiveSheet.Cells(zeileZ, 7) = SolZ
Workbooks(Datei).Sheets("Beleg").Activate
'Die Datei Buchungsanweisung wird wieder angesprochen;
Ziel1:
zeileQ = zeileQ + 1
Loop Until zeileQ > 20
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel 2010 // Makro
03.05.2016 10:46:03
UweD
Hallo
ungeprüft...
Fäll = Format(ActiveWorkbook.ActiveSheet.Cells(9, 8), "MMM YYYY")
Gruß UweD

AW: Excel 2010 // Makro
03.05.2016 11:43:38
Keller
Funktioniert! Vielen Dank!
Wenn ihr mir jetzt noch einbauen könntet, dass die Datei Cash Flow sich öffnet...
das Makro ausgeführt wird. Cash Flow Datei gespeichert wird und wieder geschlossen?
:)
Danke schonmal.

AW: Excel 2010 // Makro
03.05.2016 12:47:09
Rudi
Hallo,
teste mal
Sub ÜbertragZahlungsinfo()
'Aus dem Buchungsbeleg sollen die Buchungen mit Zahlungsvorgang _
in die Zahlungsinfo übertragen werden.
'J.Keller, 02.05.2016
Dim BKR, Datei As String
Dim GES, StArt, Betrag, Fäll, KSt, SolZ
Dim zeileQ As Long, zeileZ As Long
Dim wksQ As Worksheet
Dim wkbZ As Workbook, wksZ As Worksheet
' _
_____________________________________________________________________________________________________
'Hier bitte innerhalb der Anführungszeichen die genaue Dateibezeichnung mit Pfad eintragen !!! _
'Dabei ".xls" nicht vergessen !!
Application.ScreenUpdating = False
Datei = "c:\test\Buchungsanweisung_Keller_KSt.xls"
' _
______________________________________________________________________________________________________
Set wksQ = ActiveSheet
Set wkbZ = Workbooks.Open(Datei)
'Nachfolgende Schleife springt von Zeile zu Zeile und überträgt die Daten,
'wenn ein Betrag eingetragen ist
'Diese Schleife durchläuft den oberen Teil des Buchungsbeleges
BKR = wksQ.Cells(8, 2)            'Buchungskreis
GES = wksQ.Cells(9, 2)            'Gesellschaft
Fäll = wksQ.Cells(9, 8)           'Fälligkeit
Set wksZ = wkbZ.Sheets(Format(Fäll, "MMM YYYY"))
For zeileQ = 12 To 20  'erste Zeile mit Buchungen
StArt = wksQ.Cells(zeileQ, 9)     'Steuerart
Betrag = wksQ.Cells(zeileQ, 10)   'Betrag
KSt = wksQ.Cells(zeileQ, 13)      'KSt
SolZ = wksQ.Cells(zeileQ, 14)     'SolZ
If Betrag  "" Then
'Wenn überhaupt kein Betrag eingetragen ist, erfolgt keine Übetragung an die SchnStelle
'Nachfolgende Schleife sucht die erste freie Zeile auf dem Blatt Schnittstelle
zeileZ = wksZ.Cells(Rows.Count, 2).End(xlUp).Row + 1
'Ab hier werden die entsprechenden Werte eingetragen
wksZ.Cells(zeileZ, 1).Resize(, 7) = Array(BKR, GES, StArt, Betrag, Fäll, KSt, SolZ)
End If
Next zeileQ
wkbZ.Close True
End Sub
Gruß
Rudi

Anzeige
AW: Excel 2010 // Makro
03.05.2016 13:00:33
Keller
Ihr seid echt krass. Funktioniert auch!
DANKE nochmal an alle.

AW: Excel 2010 // Makro
03.05.2016 10:48:06
Rudi
Hallo,
Workbooks("Cash Flow KSt-SolZ Zahlungen.xls").Sheets(Format(Fäll,"MMM YYYY")).Activate
Gruß
Rudi

AW: Excel 2010 // Makro
03.05.2016 10:57:12
Keller
Wow, dass ging aber schnell! DANKE!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige