Hallo!
Ich habe folgendes Problem:
Ich würde gerne die Summe einer bestimmten Zelle mehrerer Dateien addieren in einer separaten Datei. Praktisch bedeutet dies: Ich schreibe Rechnungen, jeweils als eigene Datei und würde gerne in einer Übersichtstabelle sehen können, wie viel Kapital sich im Umlauf befindet.
Da ich ja nicht jede geschriebene Rechnung wieder erneut mit Namen in eine Tabelle aufnehmen kann, müsste das völlig unabhängig vom Dateinamen funktionieren, sondern nur von allen vorhandenen Dateien die Zellen Q53 des Ordners "ausgestellte Rechnungen" auf meiner Festplatte addieren.
Wie lässt sich so etwas realisieren?
Vielen Dankfür eure Antworten im Voraus!
Summe aus mehreren Dateien
Moderator: Moderatoren
Re: Summe aus mehreren Dateien
öffne eine neue, leere Calc-Datei und starte folgendes Makro:
hierbei muss die Zeile:
vor dem Start des Makros so geändet werden das dort der gewünschte Ordner steht.
Das Makro trägt in Spalte A der ersten Tabelle der neuen Datei alle Dokumentnamen im Ordner ein und in Spalte B alle Werte aus den Q53-Zellen und bildet am Ende der Auflistung in Spalte B die Summe.
Berücksichtigt werden nur ods-Dateien im angegebenen Ordner in deren erster (oder einziger) Tabelle in Zelle Q53 ein WErt (kein Text) steht.
Gruß
Stephan
Code: Alles auswählen
Sub Main
akt_ordner = "D:\ausgestellte Rechnungen\"
Dim par(0) As New com.sun.star.beans.PropertyValue
par(0).Name = "Hidden"
par(0).Value = True
i = 0
pfad = ConvertToURL(akt_ordner & "*ods")
rueckgabe = Dir$(pfad,0)
Do
If rueckgabe <> "." and rueckgabe <> ".." Then
ThisComponent.Sheets(0).getCellByPosition(0, i).String = akt_ordner & rueckgabe
tmp = StarDesktop.LoadComponentFromURL(ConvertToURL(akt_ordner & rueckgabe), "_blank", 0, par())
ThisComponent.Sheets(0).getCellByPosition(1, i).Value = tmp.Sheets(0).getCellRangeByName("Q53").Value
tmp.Close(True)
Wait 100 'Fokus auf Tabellenblatt
End If
rueckgabe = Dir$
i = i + 1
Loop Until rueckgabe = ""
ThisComponent.Sheets(0).getCellByPosition(1, i).Formula = "=SUM(B1:B" & i & ")"
Msgbox "Fertig."
End Sub
Code: Alles auswählen
akt_ordner = "D:\ausgestellte Rechnungen\"
Das Makro trägt in Spalte A der ersten Tabelle der neuen Datei alle Dokumentnamen im Ordner ein und in Spalte B alle Werte aus den Q53-Zellen und bildet am Ende der Auflistung in Spalte B die Summe.
Berücksichtigt werden nur ods-Dateien im angegebenen Ordner in deren erster (oder einziger) Tabelle in Zelle Q53 ein WErt (kein Text) steht.
Gruß
Stephan