Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

ZÄHLENWENN über mehrere Blätter
#1
Hallo,
Ich habe ein kleines Problem und zwar würde Ich gerne per Zählenwenn, Werte aus mehreren Tabellen addieren. Dabei ändern sich die Anzahl und somit auch der Name der verschiedenen Tabellen ständig. Im allgemeinen, habe Ich nähmlich ein Auswertungstool für einen Fragebogen. Dieses Auswertungstool wertet Veranstaltungen aus und die Anzahl an Veranstaltungen ändert sich jährlich. Deshalb habe Ich ein Leeres Tabellenblatt am Ende aller Veranstaltungen eingefügt und wollte eine ZählenWenn Funktion erstellen, die immer alle Tabellenblätter zwischen der 1. Veranstaltung und des letzten Tabellenblattes "ENDE" verwendet:
=ZÄHLENWENN(Veranstaltung1:ENDE!A:A;A)
Allerdings funktioniert diese Formel nicht und im Internet habe Ich nur Lösungsansätze gefunden, bei denen die Tabellenblätter gleich benannt sind bzw. bei welchen die Anzahl an Tabellenblätter manuell geändert werden muss und dies ist bei mir nicht möglich.
Ich hoffe man kann mein Problem verstehen und jemand hätte einen Lösungsansatz.

Viele Grüße

Tobias
Antworten Top
#2
Hallo,

vielleicht hilft dir das weiter.

Der Code muss in ein allgemeines Modul der Tabelle. (*)

Code:
Public Function ZählenWennTabellen(Tab1 As String, _
Tab2 As String, _
Bereich As Range, _
Suchkriterium As String) As Double

'© t.ramel@mvps.org / 09.01.2005
'Funktion zur Anwendung von ZÄHLENWENN() über mehrere Tabellenblätter
'Mit angegeben werden die Tabellenblattnamen von...bis,
'sowie die üblichen Parameter für ZÄHLENWENN()
'Zur automatischen Aktualisierung im Tabellenblatt den folgenden Term
'anhängen: +(0*JETZT()) und F9 drücken
'Also z.B. wie folgt: =ZählenWennTabellen("Tabelle1";"Tabelle3";A1:A10;"Suchbegriff")+(0*JETZT())

Dim intI As Integer
Dim intJ As Integer
Dim intTab As Integer
Dim Wert As Double

If Suchkriterium = "" Then
ZählenWennTabellen = 0
Exit Function
End If

intI = Worksheets(Tab1).Index
intJ = Worksheets(Tab2).Index

For intTab = intI To intJ
Set Bereich = ActiveWorkbook.Worksheets(intTab) _
.Range(Bereich.Address)
Wert = Wert + Application.WorksheetFunction.CountIf _
(Bereich, Suchkriterium)
Next intTab
ZählenWennTabellen = Wert
End Function

Der Aufruf erfolgt mit

=ZählenWennTabellen("Tabelle1";"Tabelle3";A1:A10;"x")+(0*JETZT())

Bitte auch die Kommentarzeilen am Anfang des Codes beachten.
(*) - Öffne mit Alt+F11 den VBA-Editor
- mit Strg+R den Projekt-Explorer öffnen und aktivieren
- die gewünschte Datei per Doppelklick markieren
- Tastenkombination Alt+E und dann M drücken
- in der rechten Fensterhälfte ist jetzt ein leeres Modul eingefügt worden
- in dieses Modul muss der Code eingefügt werden
- im Projektexplorer wird das Modul unter der Datei angezeigt
- speichen und den VBA-Editor mit Alt+F4 schliessen
- die Funktion steht dir jetzt in dieser Datei zur Verfügung
Gruß
Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Peter für diesen Beitrag:
  • McArthur1
Antworten Top
#3
Hallo Peter,
Danke für die schnelle Antwort. Scheint soweit alles zu klappen. 
Danke schön :)

Viele Grüße

Tobias
Antworten Top
#4
Falls Du kein VBA magst:

=SUMMENPRODUKT(ZÄHLENWENN(INDIREKT(H1:H3&"!A:A");1))

zählt alle 1 in A:A der in H1:H3 aufgeführten Blattnamen. Die Blattnamen kannst Du mittels http://www.herber.de/excelformeln und bitte suchen .../formeln.html?welcher=268 auch automatisch aufführen.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste