Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Liste aller Elemente die in liste vorkommen

Liste aller Elemente die in liste vorkommen
09.08.2003 21:28:33
dietrich
Hallo zusammen,

ich hab das folgende Problem:

Ich möchte per VBA aus einer Spalte, in der x Elemente n-mal vorkommen, alle x Elemente herausfiltern und für jedes ein neues Arbeitsblatt erstellen, dessen Blattname der Elementenname ist.

Bsp: In der Spalte kommen 4 Begriffe insgesamt 150x vor, möchte ich 4 neue Arbeitsblätter haben, für jedes Element eins.

Habt ihr eine Idee?

Dietrich

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Liste aller Elemente die in liste vorkommen
09.08.2003 22:05:43
Knut
Die Liste in 4 Blättern filtern ohne Duplikate mit Spezialfilter.

Knut


AW: Liste aller Elemente die in liste vorkommen
09.08.2003 22:12:39
dietrich
Hi Knut,

mein Problem ist, ich weiss leider nicht, dass es 4 Begriffe sind ;-)

Es können stets unterschiedlich viele sein. Deswegen auch anschließend die Erstellung eines Arbeitsblattes für jedes *gefundene* Einzelelement, wo dann die nun identifizierbaren Zeilen hinkopiert werden sollen.

Hast Du noch einen Tip?

Gruß und Dank
Dietrich


AW: Liste aller Elemente die in liste vorkommen
09.08.2003 22:49:17
Hajo_Zi
Hallo Dietrich

mal als Ansatz, schaue mal hier

http://www.excelformeln.de/formeln.html?welcher=194



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


Anzeige
AW: Liste aller Elemente die in liste vorkommen
09.08.2003 23:17:00
dietrich
Hallo Hajo,

prima! der Tip mit dem Array ohne Fehlermeldung klappt händisch in eine Hilfsspalte eingetragen sehr gut!

Mein Problem ist jetzt: Ich lösche bei jeder neuen Ausführung des gesamten Skripts die Blätter. Ich muss also die Formel in die oberste Zelle per VBA eintragen und dann kopieren. Das mit dem Kopiern krieg ich hin ;-), aber wie füge ich eine Array-Formel in eine Zelle ein?

Vielen Dank
Dietrich


AW: Liste aller Elemente die in liste vorkommen
10.08.2003 00:08:00
dietrich
Hallo Hajo,

vielleicht nochmal zur Verdeutlichung, wo mein Problem ist:

Wenn ich Deine Arrayformel mit ....worksheets(blatt).range("g2")= "{=..deine Arrayformel..}" zuweisen möchte, gibt Excel mir immer einen Fehler zurück, da die Formel selber die Gänsefüßchen enthält und Excel somit verwirrt (schön, dass auch Excel mal verwirrt ist und nicht immer nur ich ;-). Was also tun? bzw. was mache ich falsch?

Grüße
Dietrich


Anzeige
AW: Liste aller Elemente die in liste vorkommen
10.08.2003 01:52:42
Knut
Zeichne dir das mal mit dem Rekorder auf, da kommt sinngemäß
raus =FormulaArray.........

Knut


AW: Liste aller Elemente die in liste vorkommen
10.08.2003 12:34:16
dietrich
Hallo Knut,

hat funktioniert. Auf den Rekorder bin ich hier garnicht gekommen...

Aus der Tabellenblatt-Formel:
=WENN(SUMME(WENN(F$1:F$100="";0;1/ZÄHLENWENN(F$1:F$100;F$1:F$100))) < ZEILE();"";INDIREKT("f"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(F$1;;;ZEILE(F$1:F$100));F$1:F$100)=1;ZEILE(F$1:F$100));ZEILE())))

macht der Rekorder:
Selection.FormulaArray = _
"=IF(SUM(IF(R1C[5]:R100C[5]="""",0,1/COUNTIF(R1C[5]:R100C[5],R1C[5]:R100C[5]))) < ROW(),"""",INDIRECT(""f""&SMALL(IF(COUNTIF(OFFSET(R1C[5],,,ROW(R1C[5]:R100C[5])),R1C[5]:R100C[5])=1,ROW(R1C[5]:R100C[5])),ROW())))"

Die Formel kann ich jetzt in VBA verwenden :-)

Gruß
Dietrich


Anzeige
AW: Liste aller Elemente die in liste vorkommen
10.08.2003 08:47:25
Hajo_Zi
Hallo Dietrich

Array Formel werden mit Strg+Umschalt +Enter eingegeben.



Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


Anzeige
Knut und Hajo - Danke für die Hilfe! o.T.
10.08.2003 12:49:35
dietrich


AW: Knut und Hajo - Danke für die Hilfe! o.T.
10.08.2003 15:37:49
dietrich
Hallo zusammen,

ich hab mich zu früh gefreut. Ich hab hier einen komischen Effekt bei der Arrayformel, den Ihr vielleicht (er)kennt:

Die zu durchsuchende Spalte hat 153 Einträge. In diesem Fall sind es 4 einzelne Werte, die mehrfach vorkommen. Die Formel wird in die Nachbarzelle zur rechten kopiert und soll in einer Schleife von 1 bis 10 (von diesem Wert gibts nie mehr als 10) die gefundenen Werte des Bereiches heraussortieren.

Der Effekt: Er findet immer nur 3 Ergebnisse. Ich hab auch schon einmal 4 gehabt, konnte diesen "Erfolg" aber nicht reproduzieren. Bin verwirrt.

Die Formel lautet:

For I = 2 To 10
Range("d" & I).FormulaArray = _
"=IF(SUM(IF(R1C[-1]:R" & anzzeilen & "C[-1]="""",0,1/COUNTIF(R1C[-1]:R" & anzzeilen & "C[-1],R1C[-1]:R" & anzzeilen & "C[-1]))) < ROW(),"""",INDIRECT(""c""&SMALL(IF(COUNTIF(OFFSET(R1C[-1],,,ROW(R1C[-1]:R" & anzzeilen & "C[-1])),R1C[-1]:R" & anzzeilen & "C[-1])=1,ROW(R1C[-1]:R" & anzzeilen & "C[-1])),ROW())))"
Next

In Excel ist das Ergebnis dann:
{=WENN(SUMME(WENN(C$1:C$153="";0;1/ZÄHLENWENN(C$1:C$153;C$1:C$153))) < ZEILE();"";INDIREKT("c"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(C$1;;;ZEILE(C$1:C$153));C$1:C$153)=1;ZEILE(C$1:C$153));ZEILE())))}

Ich hab eine Beispieltabelle beigefügt, falls es dort leichter zu lesen ist ;-)

Die Datei https://www.herber.de/bbs/user/510.xls wurde aus Datenschutzgründen gelöscht



Gruß
Dietrich


Anzeige
@hajo darf ich Dich nochmal was fragen?
10.08.2003 21:32:17
dietrich
Ich hab doch noch ein Problem mit den Arrays unter VBA. Ich hatte es schonmal geschrieben, aber den Betreff dusselig gesetzt, so dass Du es gut hast übersehen können.

Die Beschreibung ist in dem Artikel "AW: Knut und Hajo - Danke für die Hilfe! o.T." der zum zweiten Mal auftaucht...

Es wäre schön, wenn Du nochmal Zeit hättest, da raufzuschauen.

Gruß und Dank
Dietrich


Eigentlich sollte HIIIILLFEEEEE in Betreff :) o.T.
10.08.2003 15:39:41
dietrich


302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige