Summe aus mehreren Dateien

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Schraubertreff
Beiträge: 1
Registriert: Do, 10.12.2015 09:19

Summe aus mehreren Dateien

Beitrag von Schraubertreff »

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!
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Summe aus mehreren Dateien

Beitrag von Stephan »

öffne eine neue, leere Calc-Datei und starte folgendes Makro:

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
hierbei muss die Zeile:

Code: Alles auswählen

akt_ordner = "D:\ausgestellte Rechnungen\"
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
Antworten