VBA Excel Listen/Sheets auswerten
#1
Hallo,
 
ich bin auf der Suche nach einer VBA um excel-sheets zu vergleichen und auszuwerten. D.h. ich habe eine Excel Datei mit mehreren sheets. In den einzelnen sheets sind jeweils in der Spalte H viele Namen aufgelistet. Nun will ich die einzelnen sheets auswerten um herauszufinden welche Namen in allen sheets vorkommen und diese in eine extra sheet auflisten.
 
Das habe ich aktuell folgendermaßen gelöst, allerdings mit zwei Problemen:
 
Sheets("Sheet1").Activate
    Sheets("Sheet2").Columns("H:H").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("Sheet3").Range("H1:H111"), CopyToRange:=Range( _
        "D1"), Unique:=True
 
Es wird geschaut welche Namen der sheet 3 in der sheet 2 vorhanden sind und anschließend in der sheet 1 aufgelistet.
Problem:
1.     Ich muss den Bereich in sheet 3 (H1:H111) klar definieren sonst funktioniert es nicht, da nach H111 leere Zeilen kommen. Das ist sehr unpraktisch, da sich die Zeilenanzahl in sheet 3 ändern können.
2.     Ich kann nur sheet 3 mit sheet 2 vergleichen, will aber mehrere sheets (sheet 4, sheet 5 usw.) miteinander vergleichen.
Kann mir hier jemand weiterhelfen?
Top
#2
Hola,
https://www.clever-excel-forum.de/misc.php?action=help&hid=10
bitte nachholen.
Gruß,
steve1da
Top
#3
Hallo,

falls die Formel "=Zählenwenn()" nicht bei mehreren Sheets gehen sollte, mit Dictionary geht es immer:

- eine Schleife über alle Sheets und Bereiche
- der Key ist der eindeutige Name
- das Item ist der Name des Sheet

Beispiel:

key; item

Peter; Sh1;Sh3;Sh5

bedeutet, das der Name "Peter" in den Sheets 1, 3 und 5 vorhanden ist.

Gibt es bessere Algorithmen?

mfg
Top
#4
PHP-Code:
=COUNTIF(Sheet1!$A$1:$A$100;A1)*COUNTIF(Sheet2!$A$1:$A$100;A1)*COUNTIF(Sheet3!$A$1:$A$100;A1)>
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#5
PHP-Code:
=COUNTIF(Sheet1!$A$1:$A$100;A1)*COUNTIF(Sheet2!$A$1:$A$100;A1)*COUNTIF(Sheet3!$A$1:$A$100;A1)>

=ZÄHLENWENNS(Tabelle1!A1:A100;A1;Tabelle2!A1:A100;A1;Tabelle3!A1:A100;A1)

Das funktioniert leider nicht, da die Namen in den einzelnen sheets in unterschiedlicher Reihenfolge bzw. unterschiedlichen Linien stehen.

Beispiel:
1. Steht "Maier" in Tabelle1 auf A3, Tabelle2 auf A3, Tabelle4 auf A3 so ist das Ergebnis 1   Smile

2. Steht "Maier" in Tabelle1 auf A3, Tabelle2 auf A2, Tabelle4 auf A1 so ist das Ergebnis 0  Angry
In diesem Beispiel sollte jedoch für mich ebenfalls die 1 stehen, da der Name ja in allen drei Tabellen vorkommt.
Top
#6
Registriert seit: 20.02.2018 ????

Ich sehe kein Beispiel.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top


Gehe zu:


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