Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1684to1688
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
Datenüberprüfung jede zweite sichtbare Zeile
10.04.2019 17:27:18
Florian
Hallo Profis!
Ich möchte als Quelle einer Drop-down-Liste nur jede zweite Zeile welche nicht ausgeblendet ist einlesen.
Sprich:
Es werden im Vorfeld gewisse Zeilen mittels Filter ausgeblendet.
Im Anschluss möchte ich im selben Bereich über eine Drop-down-Liste nur jede zweite Zeile als Quelle einfügen.
Alle ausgeblendeten Zeilen sollten hierfür allerdings nicht berücksichtigt werden.
Bekomme dies leider nicht hin.
Danke im Voraus für eure Hilfe!
Florian

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachgefragt ...
10.04.2019 17:45:15
neopa
Hallo Florian,
... wie viele Datenwerte sollen denn die Dropdownliste max. bereitstellen? Was spricht denn gegen eine reine Formellösung mit zwei Hilfsspalten? Eine solche könnte ich Dir aufzeigen. (D)eine kleine Beispieltabelle in einer XLSX-Datei wäre jedoch hilfreich.
Gruß Werner
.. , - ...
hier (m)eine VBA-Variante ...
11.04.2019 04:52:34
Matthias
Hallo
Da Du schreibst: VBA nur mit Recorder, gehe ich davon aus das Du eine VBA-Lösung bevorzugst.
Das kannst Du mit einer Schleife leicht realisieren.
Sub MyDropDown()
Dim rng, x&
For Each rng In Range("A2:A41").SpecialCells(xlCellTypeVisible)
If x Mod 2 = 0 Then UserForm1.ComboBox1.AddItem rng
x = x + 1
Next
End Sub
In diesem Beispiel wird der Bereich "A2:A41" durchlaufen.
Jede zweite sichtbare Zelle aus diesem Bereich wird in eine ComboBox eingelesen.
Gruß Matthias
Anzeige
AW: hier (m)eine VBA-Variante ...
11.04.2019 10:47:23
Florian
Hallo Matthias,
Ja danke super! Bin leider nicht so ganz sofit mit den ComboBoxen, deswegen hab ich ein wenig gebraucht, dass ich dies für meine Wünsche angepasst bekommen habe!
Habe es nun hinbekommen. Das Einzige was mich jetzt noch stört ist das, dass die eingelesenen Werte noch durcheinander aufgelistet werden und noch doppelte Werte vorkommen (siehe nachfolgender Screenshot). Kann man dies vor dem Einlesen noch sortieren und ggf. reduzieren?
Userbild
Hier mein Code mit dem ich die Daten einlese.
Private Sub UserForm_Initialize()
Dim rng, x&
For Each rng In Range("J24:J1023").SpecialCells(xlCellTypeVisible)
If x Mod 2 = 0 Then UserForm1.ComboBox1.AddItem rng
x = x + 1
Next
End Sub
Danke im Voraus!
Florian
Anzeige
kann man machen ...
11.04.2019 16:59:03
Matthias
Hallo,

ich würde das bereits vorher machen(ohne VBA).


  • Markiere Deine Daten "J24:J1023"

  • Klicke nun auf: Daten - Erweitert

  • An eine andere Stelle kopieren

  • Duplikate entfernen

  • Dann dort einfach Sortieren und Filtern


Die Spalte(ohne Duplikate die nun schon sortiert ist) in die Box einlesen

Gruß Matthias
AW: kann man machen ...
11.04.2019 17:17:16
Florian
Hallo Mathias,
ist leider nicht möglich, bzw. nicht sinnvoll, da sich die Daten sehr oft verändern und die ComboBox sehr häufig gebraucht wird.
Wenn ich die von dir vorgeschlagene Prozedur jedes mal machen würde, so bräuchte ich die VBA-Lösung gar nicht, sondern würde im Anschluss wieder mit einem DropDown aus der Gültigkeit arbeiten.
Gerade jetzt wo ich die Vorzüge der ComboBox schätzen lerne will ich dies auf gar keinen Fall mehr machen.
Wo ist das Problem dies in VBA zu machen? Zu komplex?
Gruß Florian
Anzeige
AW: nun ...
11.04.2019 17:49:10
neopa
Hallo Florian,
... die ComboBox kann man auch ohne VBA automatisch befüllen und die gewünschten Daten (nur die ausgefilterten, sortiert und ohne Duplikat) für diese mit Formeln ermitteln. Aber eben mit Formeln sinnvollerweise mit Hilfsspalten.
Gruß Werner
.. , - ...
AW: nun ...
11.04.2019 22:58:50
Florian
Hallo Werner,
sorry wenn ich mich erst jetzt auf deinen eingangs erwähnten Vorschlags dies mit Hilfsspalten zu machen zurückmelde, aber mir kommt eine Lösung mit VBA für diesen Fall aus folgenden Gründen günstiger vor:
- Meine Datei ist bereits 10MB groß.
- Ich würde die Filterung mittels dieser ComboBox für 9 Spalten und hier für jeweils die geraden und die ungeraden Zeilen Separat brauchen
- Des Weiteren sind diese Spalten in 8 unterschiedlichen Tabellenblättern zu finden.
- Wenn ich somit hierfür nur jeweils eine Hilfsspalte benötigen würde, so brächte ich hierfür 9x2x8=144 Hilfsspalten.
- Wenn ich dies mit VBA umgehen kann, dann wäre mir dies ehrlich gesagt viel lieber.
Jetzt hast du mich aber doch neugierig gemacht. Wie kann man Comboboxen mit Formeln füllen und kann man auch hier ausgeblendete Zeilen außen vorlassen?
Besten Dank für den Engagement
Florian
Anzeige
AW: in dem von Dir jetzt geschilderten Fall ...
12.04.2019 08:35:37
Dir
Hallo Florian,
... würden bei einer reinem Formellösung viel weniger als 144 Hilfsspalten notwendig. Ausreichend wäre da je Tabellenblatt (um die da vorhandene Filterung zu ermitteln) nur eine also in der Arbeitsmappe 8 plus max 9 für die Ermittlung der duplikatfreien Werte für die Comboboxen. Wobei letztere 9 Hilfsspalten auch in eine Hilfsspalte und da dann natürlich in verschiedenen Zellbereichen zusammengefasst werden kann. Somit reichen also auch 9 Hilfsspalten.
Die neun ermittelten Zellbereiche mit den dort er mit Formeln ermittelten duplikatfreien Werte und auch ohne die in den 8 Tabellenblättern ausgefilterten, kann man mittels Formeln genau auf die jeweiligen wirklich notwendigen Daten ermitteln und als benannte Formeln den Namensmanager übergeben. Diese weist man den jeweiligen Comboboxen in der Eigenschaft ListFillRange zu. Da die Formeln so definiert werden, dass sie dynamisch den jeweiligen Datenbereich exakt übergeben.
So wäre es also prinzipiell ohne VBA möglich. In Deinem Fall wäre eine VBA-Lösung schneller erstellt. Aber mit VBA beschäftige ich mich nicht wirklich, da bist Du bei Matthias besser aufgehoben.
Gruß Werner
.. , - ...
Anzeige
AW: in dem von Dir jetzt geschilderten Fall ...
15.04.2019 09:06:53
Dir
Hallo Werner!
Danke für deine Rückmeldung und dein Engagement!
Schöne Grüße
Florian
könntest Du nicht wenigstens,Werner mal antworten?
11.04.2019 18:59:46
Matthias
Ich will Dir ja nicht zu nahe treten.
Aber wenigstens eine Rückmeldung an Werner wäre doch auch angebracht, oder?
Gruß Matthias
AW: könntest Du nicht wenigstens,Werner mal antworten?
11.04.2019 23:10:07
Florian
Hallo Matthias,
danke für den Hinweis. Ich war so vertieft in die Lösung mit VBA, dass ich tatsächlich verabsäumt habe Werner zu antworten. Habe ich soeben nachgeholt. . . Unabhängig davon bitte ich dich mir auf meine Frage zu antworten, wie die Sortierung und Entfernung von Duplikaten mit dem von mir geposteten Code aussehen müsste, dass ich keine Hilfsspalten benötige.
Du hast ja erwähnt, dass es geht, hast aber bei deiner nächsten Meldung dennoch auf Hilfsspalten verwiesen, obwohl du mir eingangs die Gesamtlösung über VBA schmackhaft gemacht hast. Und in der darauffolgenden E-Mail hast du mich auf meine vernachlässigte Kinderstube hingewiesen, ohne auf meine Frage einzugehen . . . Kannst du mir auf meine Frage antworten?
Ich kann es nicht oft genug betonen, dass ich das Forum hier einfach klasse finde und bedanke mich ganz inständig für eure Zeit und eure Hilfsbereitschaft und oftmals gebrauchte Nachsicht.
Gruß Florian
Anzeige
so jetzt gehts weiter ...
12.04.2019 17:30:42
Matthias
Hallo
Zitat:
Und in der darauffolgenden E-Mail hast du mich auf meine vernachlässigte Kinderstube hingewiesen, ohne auf meine Frage einzugehen
Antwort:
Nun, ich hab Dich nur gefragt ob eine Rückmeldung an Werner nicht angebracht wäre.
Das mit der Kinderstube kam ja von Dir ;-)
Zur Info:
Gestern hatte ich keine Zeit mehr mich mit Deinem Problem zu beschäftigen.
Ein Helfer muss sich einem Hilfesuchenden gegenüber auch nicht dafür rechtfertigen.
Es ist schließlich (s)eine kostenlose Hilfestellung bei fremden Problemen
Das ich Dich dennoch nicht vergessen habe, siehst Du ja jetzt.
Nun nochmal zu Deinem Wunsch:
Es wäre von Vorteil zu wissen, was Du wirklich möchtest.
Ich vermute jetzt mal nur:
Duplikate entfernen - Sortieren - Filtern?
Ist die Reihenfolge so korrekt?
Du kannst das zum Duplikate entfernen ja einfach mal Testen:
Range("J24:J1023").RemoveDuplicates Columns:=1, Header:=xlNo

Das entfernt Duplikate im angegebenen Bereich, wenn es keine Überschrift in J24 gibt
Bei Header:=xlYes würde es bedeuten es gäbe eine Überschrift.
Das ist dann der Unterschied ob diese Zelle mit einbezogen wird oder nicht.
Gruß Matthias
Anzeige
AW: so jetzt gehts weiter ...
15.04.2019 08:35:28
Florian
Hallo Mathias,
keine Frage. Wie ich in meiner letzten Nachricht abschließend schon betonte, dass ich das Forum hier einfach klasse finde und mich ganz inständig für eure Zeit und eure Hilfsbereitschaft und oftmals gebrauchte Nachsicht bedanke. Für dieses Problem gilt dieser Dank ganz klar DIR und Werner.
DANKE für deine Zeit und dein Engagement. Ich bin nicht in der Position Erklärungen, oder Rechtfertigungen zu verlangen.
Was ich benötige, ist folgendes:
Ich brauchte einen Zellendropdown welcher nur jede Zweite Zeile einer Spalte einliest. Dies hast du mir prompt mit einer Combobox ermöglicht, welche bereits einwandfrei läuft.
Das einzige was hierbei noch stört ist folgendes:
- In diese Box werden selbsterklärend alle Werte im Angegebenen Bereich eingelesen.
- Wenn vorhanden werden natürlich auch doppelte Werte eingelesen.
- Zudem sind diese Werte genau in der Reihenfolge wie Sie in den Zellen stehen.
- Ich hätte diese Werte gerne ohne Duplikate und in sortierter Reihenfolge in der Combobox.
- Sie Auswahlmöglichkeit in der Combobox soll hiermit erleichtert, bzw. übersichtlicher gestaltet werden.
- An den Werten in den Zellen soll NICHTS verändert werden.
Im bereits schon mal geposteten Bild sieht man vielleicht was gemeint ist . . .
Userbild
Ich hoffe ich konnte mich nun klarer ausdrücken.
Nochmals Danke für dein Engagement und deine Zeit
Florian
Anzeige
liest Du denn die Antwort nicht richtig durch?
15.04.2019 09:24:10
Matthias
Hallo
Funktioniert denn das Entfernen der Duplikate nicht?
Ich hab Dir doch den Code bereits inkl. Erklärung gepostet.
Range("J24:J1023").RemoveDuplicates Columns:=1, Header:=xlNo
Gruß Matthias
AW: liest Du denn die Antwort nicht richtig durch?
15.04.2019 09:52:04
Florian
Hallo Mathias,
ja, aber wenn ich diesen Code in meinen implementiere, so werden die Zellwerte gelöscht, und genau das soll nicht geschehen wie oben beschrieben . . .
Schöne Grüße
Florian
hier komplett mit Sortierung ...
15.04.2019 11:49:45
Matthias
Hallo Florian,
da ich jetzt gleich offline gehe hier die fertige Datei.
Musst sie Dir ja nicht gleich ansehen, sondern nur wenn Du es doch nicht schaffst.
https://www.herber.de/bbs/user/129153.xlsm
Userbild
AW: hier komplett mit Sortierung ...
17.04.2019 08:10:58
Florian
Hallo Mathias,
besten Dank für die Datei - so, aber auch nur so habe ich es hinbekommen den Code für meine Ansprüche anzupassen.
Wie schon weiter oben geschrieben, brauche ich die Comboboxen einmal für die geraden Zeilen im Bereich von J24:J1023 und einmal für die ungeraden Zeilen im selben Bereich. Und an dieser Modifikation auf die ungeraden Zeilen scheitere ich leider schon wieder. Denn wenn ich deine Codes anpasse, so liest er mir die ungeraden Zeilen nur wenn keine Zeilen im besagten Bereich ausgeblendet sind in die Combobox ein. Sobald Zeilen ausgeblendet sind, werden wieder die geraden Zeilen eingelesen. Ich habe die halbe Nacht versucht dahinter zu kommen - leider vergebens :-( . . .
Ich hoffe ich habe mich verständlich ausdrücken können. Habe auch eine Beispieldatei hochgeladen wodurch dann eigentlich alles klar sein müsste - hoffe ich.
https://www.herber.de/bbs/user/129202.xlsm
Bitte nochmals um Hilfe!
Danke im Voraus
Rückmeldung ?
16.04.2019 11:46:16
Matthias
Hallo
Dein Beitrag wandert bald ins Archiv!
Hast Du meine letzte Antwort angesehen?
Gruß Matthias
AW: Rückmeldung ?
16.04.2019 14:15:13
Florian
Hallo Matthias,
sorry - bin noch nicht dazu gekommen die 2 Varianten auszuprobieren . . .
In jedem Fall schon mal danke!
Ich melde mich aber auf alle Fälle nochmal sobald ich´s hinbekommen habe, oder immer noch zu blöd bin ;-)
Bis dahin schöne Zeit und danke nochmal!
Florian

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige