Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Wie in Excel bedingte Summe über mehrere Tabellenblätter hinweg?

Frage Entwicklung VB for Applications

Mitglied: diwaffm

diwaffm (Level 2) - Jetzt verbinden

02.03.2010 um 16:51 Uhr, 11656 Aufrufe, 3 Kommentare

Hi Leute,

ich habe hier eine Excel-Datei mit mehreren Tabellenblättern - für jeden Kunden eines sowie ein (geplantes) Summenblatt.

In den Kundenblättern gibt es eine Spalte mit dem Zahlungsziel und der Summe.
Nun würden wir gerne auf dem Summenblatt den Namen des Kunden, das Datum des Zahlungsziels und die Summe auflisten, wenn ein Zahlungsziel gegeben ist - und zwar für alle Kunden...

Notfalls könnte man die einzelnen Blätter "fest verdrahtet" ansprechen - das halte ich aber für wenig elegant - und könnte problematisch werden, wenn eim Kunde hinzukommt oder gestrichen wird.
Etwas eleganter, wäre wohl der Weg über eine Hilfstabelle, in der die Kunden und ihre Zuordnung zu den einzelnen Blättern gelistet sind.

Ideal wäre aber eine Lösung, die automatisch über alle Blätter läuft...
Doch da fällt mir nichts prikelndes zu ein...

ciao

dirk
Mitglied: WhisperingDeath
02.03.2010 um 18:26 Uhr
Ich würde ein eigenes Tabellenblatt anlegen, wo die Kunden mit einer Nummer versehen sind.
Danach würd ich in dem Summenblatt eine wenn funktion verschachtelt mit einer sverweis funktion machen.

Das sollte dann so aussehen:

wenn(A2<>0;sverweis(Suchkriterium;Matrix;Spaltenindex;FALSCH);"")

Je nach dem welchen Spaltenindex du eingibst kann zB Name, Summe usw. ausgegeben werden.

ich hoffe ich konnte dir helfen

lg
Bitte warten ..
Mitglied: bastla
02.03.2010 um 18:32 Uhr
Hallo diwaffm!

Da Du mit Details ja eher sparsam warst, ein VBA-Beispiel mit angenommenen Werten und für den Fall, dass es für jeden Kunden mehrere Summen (jeweils eben mit oder ohne Zahlungsziel) gibt:
01.
Sub ErstelleListe() 
02.
Summenblatt = "Gesamt" 
03.
AbZeileSum = 2 
04.
AbSpalteSum = 1 'Spalte A 
05.
 
06.
AbZeileKunde = 2 
07.
SpalteZZ = 5 'Spalte E 
08.
SpalteS = 7 'Spalte G 
09.
 
10.
'Alte Daten aus Summenblatt löschen 
11.
Range(Cells(AbZeileSum, AbSpalteSum), Cells(AbZeileSum, AbSpalteSum).End(xlDown).End(xlToRight)).ClearContents 
12.
ZeileSum = AbZeileSum 
13.
For Each Blatt In Worksheets() 
14.
    If Blatt.Name <> Summenblatt Then 
15.
        ZeileKunde = AbZeileKunde 
16.
        Do While Blatt.Cells(ZeileKunde, SpalteS) <> "" 
17.
            If Blatt.Cells(ZeileKunde, SpalteZZ) <> "" Then 
18.
                With Worksheets(Summenblatt) 
19.
                    .Cells(ZeileSum, AbSpalteSum) = Blatt.Name 
20.
                    .Cells(ZeileSum, AbSpalteSum + 1) = Blatt.Cells(ZeileKunde, SpalteZZ) 
21.
                    .Cells(ZeileSum, AbSpalteSum + 2) = Blatt.Cells(ZeileKunde, SpalteS) 
22.
                End With 
23.
                ZeileSum = ZeileSum + 1 
24.
            End If 
25.
            ZeileKunde = ZeileKunde + 1 
26.
        Loop 
27.
    End If 
28.
Next 
29.
MsgBox "Fertig." 
30.
End Sub
Außerdem bin ich davon ausgegangen, dass sich der Kundenname aus dem jeweiligen Tabellennamen ergibt.

Grüße
bastla
Bitte warten ..
Mitglied: diwaffm
04.03.2010 um 09:49 Uhr
Merci bastla,

Dein Skript hat es (beinahe) getroffen...
Ich musste es lediglich dahingehend anpassen, dass es auch Zeilen in der Tabelle gibt, in denen die Rechnungssumme leer sein kann.

Die Schleife muss sich also an der Spalte mit der Rechnungsnummer und nicht der mit der Summe orientieren.
Sonst wird nach der ersten leeren Summe die Berechnung abgebrochen.
Aber: Wie sollst Du das ohne die original-Datei wissen.

Was mir gefehlt hat, war die Schleife "For Each Blatt in Worksheets()".

Danke

Dirk
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel Tabelle nach Spalte sortieren und Daten auf Tabellenblätter separieren (4)

Frage von Fastinator zum Thema Microsoft Office ...

Microsoft Office
gelöst Bedingte Formatierung in Excel, wenn zweite Dezimalstelelle nicht eine Null ist (11)

Frage von winget zum Thema Microsoft Office ...

Microsoft Office
gelöst Bedingte Formatierung in Excel für verschiedene Dezimalstellen (6)

Frage von winget zum Thema Microsoft Office ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
PC erhalten nicht immer eine gültige IP (29)

Frage von Lieberwolf zum Thema Netzwerkprotokolle ...

Windows Systemdateien
Windows 7 und 10 herunterfahren Knopf mit Script belegen (21)

Frage von c-o-o-p-e-r92 zum Thema Windows Systemdateien ...

Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (16)

Frage von Zockervogel zum Thema Router & Routing ...