Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
380to384
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
380to384
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ausgangsrechnungsjournal

Ausgangsrechnungsjournal
13.02.2004 08:35:51
Elch
Liebe Excelfreunde,
Wer kann mir hierbei helfen?
Danke, danke danke.
KD-Nr. 4711 Datum 31.01.2004
Re.Nr. 04/001
Debitor 10000
Gegenkonto 4090 Betrag 500,00 €

Die obigen Werte stehen in einem
Rechnungsformular. Wenn die Rechnung gedruckt wird, sollen diese Werte
nebeneinander in einer Zeile in einer neuen Datei " Rechnungsjournal" automastisch übertragen
werden. Die Werte der nächsten Rechnung sollen ebenfalls in die folgende Zeile
übertragen werden. Am Ende erhalte ich so ein Rechnungsausgangsjournal für den
laufenden Monat.
Wie kann ich das anstellen?

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausgangsrechnungsjournal
13.02.2004 08:44:34
geri
Hallo Realname ???
copiere diesen Code in Modul

Sub DatenübernahmeTabelle()
Dim i As Integer
i = Sheets("geschriebene Rechnungen").Cells(Cells.Rows.Count, 1).End(xlUp).Row + 1
If i < 4 Then i = 4
' ZIELBEREICH                   'QUELLBEREICH
Sheets("geschriebene Rechnungen").Cells(i, 1) = Sheets("Rechnung").Cells(13, 1) 'Kd-Nummer
Sheets("geschriebene Rechnungen").Cells(i, 2) = Sheets("Rechnung").Cells(18, 1) ' Rech. Nr
Sheets("geschriebene Rechnungen").Cells(i, 3) = Sheets("Rechnung").Cells(1, 6) 'Rech-Dat
Sheets("geschriebene Rechnungen").Cells(i, 4) = Sheets("Rechnung").Cells(9, 1) 'Name/Vorname
Sheets("geschriebene Rechnungen").Cells(i, 5) = Sheets("Rechnung").Cells(10, 1) 'Strasse
Sheets("geschriebene Rechnungen").Cells(i, 6) = Sheets("Rechnung").Cells(11, 1) 'PLZ/Ort
Sheets("geschriebene Rechnungen").Cells(i, 7) = Sheets("Rechnung").Cells(42, 6) 'Betrag
'cells(zeile,spalte) anpassen
End Sub


QUELLE und ZIEL anpassen, am Sammler beginnt Übertrag bei Zeile 4
gruss geri
Anzeige
AW: Ausgangsrechnungsjournal
13.02.2004 09:19:34
Elch
Danke Geri, mein Realname lautet Alex
AW: Ausgangsrechnungsjournal
13.02.2004 10:56:31
Elch = Alex
??
kannst Du mit eventuell eine kleine Anleitung wo was wie wohin gehört geben? Wofür steht i? Tut mir leid, aber für mich ist das absolutes niemandsland
AW: Ausgangsrechnungsjournal
13.02.2004 11:09:06
geri
Hallo Alex
das i ist die Variable die benutzt wird im im ZIELBLATT "geschriebene Rechnungen" die Leerzeile für Übertrag zu finden ....
start bei Zeile 4 wenn 4 frei dann schreibe in 4, wenn 4 belegt schreibe in 5
wenn 5 belegt schreibe in 6 usw.
ich schreibe dies erst ab Zeile 4 da ich oberhalb noch Summiere und ein paar
Formeln für Auswertung, wenn du andere Startzeile möchtest ändre einfach die
2 Zahlen
gruss geri
Anzeige
AW: Ausgangsrechnungsjournal
13.02.2004 11:12:59
PeterW
Hallo Alex,
der von Geri gepostete Code war ein Beispiel. Wenn VBA für dich Neuland ist braucht man für eine passende Lösung die genauen Zelladressen der zu übertragenden Daten. Am einfachsten dürfte eine Beispieltabelle sein (Durchsuchen - Datei zum Server).
Gruß
Peter
AW: Ausgangsrechnungsjournal
13.02.2004 11:22:29
Elch=Alex
Ihr seid die besten!
Danke, ich habe beide Dateien hochgeladen
mfg
Alex
AW: Ausgangsrechnungsjournal
13.02.2004 11:29:39
PeterW
Hallo Alex,
du musst uns schon sagen, wo die jetzt sind (den Link hier in die Antwort kopieren).
Gruß
Peter
AW: Ausgangsrechnungsjournal
13.02.2004 11:43:47
Alex
nun ja, mein Fehler, wusste ich nicht.
www.herber.de/bbs/user/3610.xls und 3611.xls
AW: Ausgangsrechnungsjournal
13.02.2004 12:12:58
PeterW
Hallo Alex,
kopiere diesen Code in das Modul, in dem du es mit dem anderen Code schon versucht hast. Starte das Makro (Extras - Makros - Ausfühlen) - die Zieldatei muss geöffnet sein!

Sub Uebernahme()
Dim wksZiel As Worksheet
Dim lgRow As Long
'eventuell den Namen der Zieldatei und des Zielblattes anpassen
Set wks = Workbooks("Journal.xls").Sheets("Tabelle1")
lgRow = Range("B65536").End(xlUp).Row + 1
With wks
.Cells(lgRow, 2) = Cells(6, 7)
.Cells(lgRow, 3) = Cells(6, 4)
.Cells(lgRow, 4) = Cells(7, 4)
.Cells(lgRow, 5) = Cells(8, 4)
.Cells(lgRow, 6) = Cells(9, 4)
.Cells(lgRow, 7) = Cells(9, 7)
End With
End Sub

Gruß
Peter
Anzeige
Korrektur
13.02.2004 12:18:16
PeterW
Hallo Alex,
sorry, hier ist ein Fehler:
lgRow = Range("B65536").End(xlUp).Row + 1
richtig muss es heißen:
lgRow = wks.Range("B65536").End(xlUp).Row + 1
Gruß
Peter
AW: Korrektur
13.02.2004 13:17:40
Alex
Ich verneige mich in aller Ehrfurcht, es funktioniert!
Sag mir doch bitte, was in den Klammerwerten nach Cells zu bedeuten hat. Ich würde es gerne nachvollziehn können, um nicht doof zu sterben. Und was ist Range("B65536")
Wo kann man das alles lernen?
AW: Korrektur
13.02.2004 13:52:27
PeterW
Hallo Alex,
Range("B65536") ist die letzte Zelle in Spalte B, die Zelle B65536. Mit Cells werden einzelne Zellen angesprochen, die Syntax ist Cells(Zeile, Spalte).
Lernen kann man das auf vielfältige Weise. Ein Einsteigerkurs in die VBA-Programmierung kann nicht schaden. Mein noch bescheidenes Wissen hab ich aus einem solchen Kurs und dem eifrigen Lesen des Forums erworben. Lies dir Problembeschreibungen durch und versuche, die geposteten Lösungen zu verstehen. Eine Hilfe ist dabei die in den VBA-Editor eingebaute Hilfe. Kopiere dir Codebeispiele in den VBA-Editor und bei allen unklaren Befehlen geh mit dem Cursor auf den Begriff und drücke F1. Schau dir auch mal die Lehr- und Lernmittel des Forumbetreibers (links oben) an. Sind zwar nicht geschenkt aber jeder Cent dafür lohnt sich!!
Gruß
Peter
Anzeige
AW: Korrektur
13.02.2004 14:25:09
Alex
zum Verständnis:
Der Wert = Cells(6, 7) (rechts neben dem =Zeichen) bedeutet, dass das Datum aus meiner Rechnung in das Journal übertragen wird. Nur, wo ist der Befehl, dass das Datum in die Cells (2, 4) des Journals übertragen werden soll?
mfg Alex
Erklärung
13.02.2004 14:45:47
PeterW
Hallo Alex,
vielleicht ist es mit der kommentierten Version einfacher nachzuvollziehen.

Sub Uebernahme()
'Variable für das Zielblatt
Dim wksZiel As Worksheet
'Variable für die Zeilennummer
Dim lgRow As Long
'eventuell den Namen der Zieldatei und des Zielblattes anpassen
'um nicht immer weider schreiben zu müssen:
'Workbooks("Journal.xls").Sheets("Tabelle1")
'wird der Objektvariablen wks dieser Ausdruck zugewiesen
'wäre in diesem kurzen Code nicht wirklich nötig, ist eher Gewohnheitssache
Set wksZiel = Workbooks("Journal.xls").Sheets("Tabelle1")
'die erste freie Zeile im Zielblatt wird ermittelt
'im Klartext: gehe im Zielblatt in Zelle B65536
'von dort aus schau nach oben, welche die letzte Zelle ist,
'die einen Eintrag hat; und dann nimm die nächste (+ 1)
lgRow = Range("B65536").End(xlUp).Row + 1
'wieder Schreibfaulheit: statt jede der folgenden Zeilen
'mit wks beginnen zu müssen setze ich das in einen With-Rahmen
'der Punkt in den nächsten Zeilen steht für das, was hinter
'With steht
With wksZiel
'die Variable lgRow hat bei der ersten Übertragung den Wert 4
' also Cells(4, 2)
'womit die Eingangsfrage beantwortet sein sollte
.Cells(lgRow, 2) = Cells(6, 7)
.Cells(lgRow, 3) = Cells(6, 4)
.Cells(lgRow, 4) = Cells(7, 4)
.Cells(lgRow, 5) = Cells(8, 4)
.Cells(lgRow, 6) = Cells(9, 4)
.Cells(lgRow, 7) = Cells(9, 7)
End With
End Sub

Gruß
Peter
Anzeige
AW: Korrektur
13.02.2004 14:46:22
geri
Hallo Alex
als Empfehlung, setzte hinter CODE den Kommentar als Beispiel
.Cells(lgRow, 2) = Cells(6, 7)'Datum
.Cells(lgRow, 3) = Cells(6, 4)' Summe
.Cells(lgRow, 4) = Cells(7, 4)'....
.Cells(lgRow, 5) = Cells(8, 4)'....
.Cells(lgRow, 6) = Cells(9, 4)'....
.Cells(lgRow, 7) = Cells(9, 7)'....
dies machen auch erfahrene Programmierer, es ist auch einfacher
bei Fehlersuche um Ziel und Quelle besser zuzuordnen
versuch dies mal
gruss geri
AW: Ausgangsrechnungsjournal
13.02.2004 15:39:54
Alex
Lieber Peter und Geri,
langsam kommt Licht ins dunkle. Ich habe die Änderungen vorgenommen, und beide Dateien hier hochgelden.Sie liegen unter www.herber.de/bbs/user3616.xls und 3617.xls
Bis dahin funktioniert alles, lediglich den Betrag bekomme ich nicht im Warenausgangsbuch Celle 10/5 angezeigt!
Was habe ich denn vergessen?
Anzeige
AW: Ausgangsrechnungsjournal
13.02.2004 18:04:57
PeterW
Hallo Alex,
du hast im Zielblatt Spalten ausgeblendet. Spalte M ist die Spalte 13!
.Cells(lgRow, 13) = Cells(9, 7) 'Betrag
Gruß
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige