Variable Tabellenlänge in Excel!

Hallo!

ich hab hier ein Excel Document, welches einen Kopf hat, der auf jeder gedruckten Seite erscheinen soll und einen Schluss, der alle aufgelisteten Beträge aufsummiert und immer am Ende des Textdokumentes erscheinen soll… Jetzt geb ich die benötigten Daten via java ein und schreibe Sie ins excel dokument. Das Problem ist jetzt bloß dass es nicht immer genau 9 datensätze sind, d.h. es können auch mal 20 Datensätze sein, so müsste dann praktisch der Schluss wo alles zusammengezählt wird variable mit der anzahl der Datensätze nach unten verschoben werden… Ihr fragt euch bestimmt warum ich diesen Schluss nicht einfach dann unters dokument schreibe… das dokument sollte nach java eingabe fix und fertig zum ausdruck sein… ich hab mal ein Beispiel angefügt… Wäre um eine Lösung sehr dankbar!

http://www.onlinepictures.de/2/?img=javad337a843JPG.jpg

Vielen Dank!

mfg

Hallo!

Hi,
füge mal folgenden VBA-Code ein (Alt & F11, dann Doppelklick auf dein benutztes Arbeitsblatt):

Private Sub Worksheet\_Change(ByVal Target As Range)
Const start\_reihe = 8
Const spalte = 1
Const max\_reihe = 100

Dim a As Integer

Application.EnableEvents = False
For a = start\_reihe To max\_reihe
 If ThisWorkbook.ActiveSheet.Cells(a, spalte).Value = "" Then
 Exit For
 End If
Next a
ThisWorkbook.ActiveSheet.Range(Cells(a, spalte), Cells(max\_reihe, spalte)).ClearContents

ThisWorkbook.ActiveSheet.Cells(a + 2, 1).Value = "Anfangsbestand"
ThisWorkbook.ActiveSheet.Cells(a + 3, 1).Value = "Einnahmen"
ThisWorkbook.ActiveSheet.Cells(a + 4, 1).Value = "Ausgaben"
Application.EnableEvents = True
End Sub

Wie berechnen sich die Werte v. Anfangsbestand etc.?
Gruß.Timo

Hi!

Vielen Dank für deinen VB-Code, hab ich jetzt gerade erst bemerkt, das funktioniert ja wunderbar! Anfangsbestand und… rutschen immer mit zunehmenden Text nach unten!

Jetzt hab ich nurnoch 2 Fragen um glücklich zu werden :smile:

  • Wie kann ich machen, dass auf jeden zu druckenden Blatt ein fixer Textkopf und Textfuss(Seitenanzahl und Datum) erscheint… ganz normaler über Kopf und Fusszeile einfügen oder?

  • Jetzt für ich die Daten von java aus so ein, dass ich nach jeder eingabe in die darunter folgende Zeile springe, wie kann ich das lösen, dass z.B. er nicht bis zum Dokumentenende sonder schon ca. 10 Zeilen davor aufs nächste Blatt springt und dort ca. 10 Zeilen nach Blattanfang seinen Text positioniert?

achja, der Anfangsbestand wird vom Vormoat übernommen, ich weiß noch nich wie ich es lösen soll, aber ich denke am besten wäre von java aus die Excel Datei vom Vormonat auszulesen und dort den Endbestand in die neue Excel Datei zu übertragen… Einnahmen und Ausgaben berechnen sich so, es ist erstmal jeder Betrag eine Ausgabe nur wenn in dem Feld was davor übergeben wird Tageseinname steht, ist es eine Einnahme… aber diese Werte könnte ich auch per java übergeben… ich müsste nur wissen wie ich das machen soll, weil ja Anfangsbestand… variabel sind

Vielen Dank!

mfg