806 Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo ihr vielen Programmierer-Spezies,

bis jetzt hab ich immer nur n bisschen mit Excel-Funktionen hantiert, aber jetzt möchte ich einen Kontoplan erstellen, der sich mit den 0815-Formeln nicht mehr realisieren lässt.

Wie gesagt, es soll ein Kontoplan werden.
Im Tabellenblatt 1 habe ich eine Eingabe eingerichtet. D.h.
B3= Datum der Bewegung
D3= Bemerkung
F3= Betrag der Bewegung
H3= Konto der Bewegung

Nun möchte ich, das die Werte anhand des Wertes in H3 in das entsprechende Tabellenblatt eingetragen werden. Z.b. Wert 1 = Sparkasse (=Tabellenblatt 2), Wert 2 = Volksbank (=Tabellenblatt 3) usw.
Das klappt bis jetzt sehr gut.
Auch die Funktion der anschließenden Sortierung habe ich noch hinbekommen.
(D.h. wenn ich eine Bewegung am 01.06. habe und eine am 01.03 die ich im später eintrage, dann ist es in der richtigen zeitlichen Reihenfolge in den entsprechenden TBlättern sortiert.)

Mein Problem: In den Tabellenblättern möchte ich in der Spalte B den aktuellen Kontostand sehen.
Nur nach dem Sortieren muss er dementsprechend jede Zelle B die nach dem neu eingetragenen Datum liegt aktualisieren/neu berechnen.

So solls aussehen:

1 2 3 4
A 01.01.2009 100,-€ Anfangsbestand 0,-€
B 02.02.2009 A2+B4 Bewegung #1 5,-€
C ......

Hier mein derzeitiger Code:

Sub Daten_eintragen()
Dim Zeile
Dim Zeilr
'nur wenn in B3 und D3 etwas drinsteht dann eintragen
If [b3] <> "" And [d3] <> "" Then
'Tabellenblatt ermitteln
If [h3] = "1" Then
Sheets("SPK").Select
'letzte benutzte Zeile ermitteln + 1
Zeile = Cells(Rows.Count, 1).SpecialCells(xlLastCell).Row + 1
Zeilr = Cells(Rows.Count, 1).End(xlUp).Row
'Daten eintragen
Cells(Zeile, 1) = Sheets("Eingabe").Range("b3").Value
Cells(Zeile, 2) = Cells(Zeilr, 2) + Sheets("Eingabe").Range("f3").Value
Cells(Zeile, 3) = Sheets("Eingabe").Range("d3").Value
Cells(Zeile, 4) = Sheets("Eingabe").Range("f3").Value
Cells(Zeile, 5) = Sheets("Eingabe").Range("h3").Value

'Sortieren
Range(Cells(1, 1), Cells(Rows.Count, 5)).Sort _
Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin, DataOption1:=xlSortNormal


'Eingaben löschen
Sheets("Eingabe").Select
[b3] = ""
[d3] = ""
[f3] = ""
[h3] = ""
'letzte Zeile in sichtbaren Bereich holen
Cells(Zeile, 1).Select
Else
'Tabellenblatt ermitteln
If [h3] = "2" Then
Sheets("2.VoBa").Select

........

Habt Ihr ne Idee oder Verbesserungs-/Vereinfachungsvorschlägen?

Vielen Dank im Voraus!

DasBinIch132

1 Antwort

0 Punkte
Beantwortet von
Hab schon die Lösung! MfG DasBinIch 132
...