Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1300to1304
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
ComboBox mit Zahlen von 1 bis 1048576 füllen
09.03.2013 08:41:49
1
Hallo an alle!
Wie kann ich, möglichst schnell und ohne das System zu überlasten eine ComboBox mit den Zahlen von 1 bis 1048576 füllen. Mit einer For/Next-Schleife hat Excel sehr lange damit zu tun und es erscheint ständig Keine Rückmeldung.
Ich hoffe, Ihr habt einen Tipp für mich.
Gruß,
Kasimir

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox mit Zahlen von 1 bis 1048576 füllen
09.03.2013 08:47:24
1
HAllo
Versuch mal so:
Sub machs()
    Dim arr(1 To 1048576)
    Dim L As Long
    For L = 1 To 1048576
        arr(L) = L
    Next
    ComboBox1.List = arr
End Sub


Das geht so schnell das du es nichtmal merkst...
ransi

Anzeige
AW: ComboBox mit Zahlen von 1 bis 1048576 füllen
09.03.2013 08:57:26
1
Hi
das Problem ist nicht die For-Next-Schleife, sondern das .AddItem.
man kann aber auch ein Array mit den Werten befüllen und dann dieses Array der Combobox zuweisen, was wesentlich schneller geht:
Dim i As Long
Dim x(1 To 2 ^ 20)
For i = 1 To UBound(x)
x(i) = i
Next
ComboBox1.List = x
Gruß Daniel

AW: ComboBox mit Zahlen von 1 bis 1048576 füllen
09.03.2013 09:39:37
1
Hallo ransi, hallo Daniel!
Danke Euch für Eure Antworten. Genau das habe ich gesucht.
Ich hätte da aber noch eine Frage. Diese hat allerdings nichts mit der eigentlichen Fragestellung dieses Beitrags zu tun. Und zwar möchte ich in einer UserForm einen Dateiexplorer nachempfinden. Der Benutzer soll in diesem Dateiexplorer einen Pfad auswählen und diesen ausgewählten Pfad benötige ich dann in einer String-Variablen. Gibt es dafür ein Steuerelement und geht soetwas?
Nochmals danke und Gruß,
Kasimir

Anzeige
AW: ComboBox mit Zahlen von 1 bis 1048576 füllen
09.03.2013 10:18:05
1
Hi
ein Steuerelement gibt es nicht, aber du kannst diesen Code verwenden, um einen Pfad auswählen zu lassen und den Pfad in eine Stringvariable zu schreiben:
Dim x As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
If .SelectedItems.Count = 1 Then x = .SelectedItems(1)
End With
gruß Daniel

AW: ComboBox mit Zahlen von 1 bis 1048576 füllen
09.03.2013 10:19:36
1
Hallo,
wenn du das Array nicht als Variant sondern als Long deklarierst (Dim arr(1 To 1048576) As Long) ist das Ganze um 25% schneller.
Warum willst du das Rad neu erfinden? Um eine Datei auszuwählen gibt es GetOpenFilename und den FileDialog. Wenn du die nicht willst, solltest du dein Vorhaben etwas näher beschreiben.
Gruß
Nepumuk

Anzeige
AW: ComboBox mit Zahlen von 1 bis 1048576 füllen
09.03.2013 15:49:20
1
Hallo Daniel, hallo Nepumuk!
Danke Euch für Eure Hilfe. Die Varianten mit Application.FileDialog und GetOpenFilename sind mir bekannt. Dort wird allerdings immer jeweils ein eigenes Dialogfenster aufgerufen. Ich dachte es gibt ein Steuerelement, dass ich in meine UserForm einbetten kann und über das ich, ohne ein weiteres Dialogfenster öffnen zu lassen, einen Pfad auswählen kann. Mein Vorhaben ist, eine UserForm zu erzeugen, in dass ich diverse Dinge vorab auswählen muss und hier sollte ein Pfad ausgewählt werden, wie im Dateiexplorer. Wenn es so etwas nicht gibt, dann werde ich eine der beiden von Euch vorgeschlagenen Versionen nutzen müssen.
Danke nochmal für Eure Unterstützung,
Kasimir

Anzeige
AW: ComboBox mit Zahlen von 1 bis 1048576 füllen
09.03.2013 16:18:58
1
Hallo,
ein fertiges Control gibt es nicht. Für die Auswahl eines Ordners würde ich das TreeView-Control nutzen. Dazu musst du dann das komplette ausgewählte Laufwerk nach Ordnern durchsuchen. Was, je nach Größe, schon mal 30 Sekunden und länger dauern kann (ist halt VBA und nicht C).
Gruß
Nepumuk

AW: ComboBox mit Zahlen von 1 bis 1048576 füllen
09.03.2013 16:43:49
1
Hallo Nepumuk!
Danke Dir für die erneute Antwort. Schade, ich dachte da gibt es ein fertiges Steuerelement. Na dann werde ich es über eine von Euch vorgeschlagenen Varianten realisieren.
Danke nochmal für die Hilfe und ein schönes WE,
Kasimir

WebBrowser als Explorer
09.03.2013 17:54:03
ransi
Hallo Kasimir
Ein bischen was geht immer...
Mit dem WebBrowser-Steuerelement kann man (nicht ich) sowas nachbilden.
Schau es dir mal an:
https://www.herber.de/bbs/user/84269.xlsm
ransi

Anzeige
Is ja Irre, wow ... :-) owT
09.03.2013 18:19:40
Matthias

AW: Is ja Irre, wow ... :-) owT
09.03.2013 19:06:28
mumpel
Hallo!
Nur die Detail-Darstellung wäre vorteilhafter.
Gruß, René

das stimmt, hab ich aber noch nicht gekannt :-) oT
09.03.2013 19:12:59
Matthias

Detail-Darstellung
11.03.2013 15:47:28
Anton
ist auch möglich, etwa so:
WebBrowser1.Document.currentviewmode = 4

mfg Anton

AW: Detail-Darstellung
12.03.2013 19:13:09
ransi
HAllo
Ich habs geahnt !
Der Anton kriegt die Detailansicht mit nem Einzeiler hin ;-)
ransi

AW: Detail-Darstellung
13.03.2013 10:09:18
mumpel
Sehr gut. Vielleicht auch noch interessant: Steuerelement WebBrowser

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige