Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1268to1272
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

Doppelte Buchhaltung

Doppelte Buchhaltung
Markus
https://www.herber.de/bbs/user/81090.xls
Hallo,
ich habe im Forum gesucht, aber leider nichts passendes gefunden.
Ich möchte eine Art "doppelte Buchhaltung" für meine Gasflaschen-Kontrolle erstellen.
Zuerst soll Excel in der Tabelle 1spaltig ab A4 die Werte löschen (nicht die Formate).
Dann soll Excel alle Bewegungen ab der Tabelle Bewegungen schreiben, das folgende Kriteriim erfüllen.
- ind der Spalte D oder E muss "255_1596" stehen.
Excel soll also Ab Tabelle Bewegungen beginnen, die Sätze nach 1spaltig zu schreiben.
Ist in der Spalte D 255_1596 vorhanden, so soll eine Plus-Buchung in 1spaltig geschrieben werden.
Bei KST 255_1596 eintragen(also Wert aus D) die Anzahl muss positiv sein.
Ist 255_1596 in der Spalte E vorhanden, dann auch in Spalte D 255_1596 schreiben, aber die Anzahl mit Minus multiplizieren (Abgang).
Selbstverständlich soll die Gegen_Kostenstelle (D oder E) als Info in Spalte G in der 1spaltig Tabelle geschrieben werden. Datum, Nr, Art soll unverändert in die 1spaltig übernommen werden.
Für Hilfe bin ich unendlich dankbar.
Markus

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Doppelte Buchhaltung
20.07.2012 07:07:31
Markus
Habe ich mich zu kompliziert ausgedrückt ?
Markus
AW: Doppelte Buchhaltung
20.07.2012 08:28:20
fcs
Hallo Markus,
hier ein entsprechendes Makro
Gruß
Franz
'Code in allgemeinem Modul
Option Explicit
Private Const Zeile1_1 As Long = 4 '1. Datenzeile in 1_spaltig
Private Const Zeile1_B  As Long = 4 '1. Datenzeile in Bewegungen
Sub Buchfuehrung()
Call LoeschenWerte(wks:=Worksheets("1spaltig"), Zeile1:=Zeile1_1)
Call Buchungen_eintragen(wksQ:=Worksheets("Bewegungen"), _
wksZ:=Worksheets("1spaltig"), strKST:="255_1596")
End Sub
Sub Buchungen_eintragen(wksQ As Worksheet, wksZ As Worksheet, strKST As String)
Dim lngZeile_Q As Long, lngZeile_Z As Long
lngZeile_Z = Zeile1_1
With wksQ
For lngZeile_Q = Zeile1_B To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(lngZeile_Q, 4) = strKST Or .Cells(lngZeile_Q, 5) = strKST Then
wksZ.Cells(lngZeile_Z, 1).Value = .Cells(lngZeile_Q, 1).Value 'Datum
wksZ.Cells(lngZeile_Z, 2).Value = .Cells(lngZeile_Q, 2).Value 'Nr
wksZ.Cells(lngZeile_Z, 3).Value = .Cells(lngZeile_Q, 3).Value 'Art
wksZ.Cells(lngZeile_Z, 4).Value = strKST
wksZ.Cells(lngZeile_Z, 5).Value = .Cells(lngZeile_Q, 6).Value 'Bemerkung
If .Cells(lngZeile_Q, 4) = strKST Then
wksZ.Cells(lngZeile_Z, 6).Value = .Cells(lngZeile_Q, 7).Value 'Anzahl
wksZ.Cells(lngZeile_Z, 7).Value = .Cells(lngZeile_Q, 5).Value 'nach_KST
Else
wksZ.Cells(lngZeile_Z, 6).Value = -1 * .Cells(lngZeile_Q, 7).Value 'Anzahl
wksZ.Cells(lngZeile_Z, 7).Value = .Cells(lngZeile_Q, 4).Value 'von_KST
End If
lngZeile_Z = lngZeile_Z + 1
End If
Next
End With
End Sub
Sub LoeschenWerte(ByVal wks As Worksheet, ByVal Zeile1 As Long, Optional Spalte As Long = 1)
Dim lngzeile As Long
With wks
lngzeile = .Cells(.Rows.Count, Spalte).End(xlUp).Row
If lngzeile >= Zeile1 Then
.Range(.Rows(Zeile1), .Rows(lngzeile)).ClearContents
End If
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige