Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
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
Inhaltsverzeichnis

combobox einlesen

combobox einlesen
15.10.2019 19:52:26
Sigi
Hallo,
ich möchte gerne wissen welche Variante die bessere ist, wenn man sehr viele
ComboBoxen einlesen will und Speicherplatz einsparen will.
VARIANTE 1
with Sheets("T1")
UF1.cboLF_Anrede.List = Range(.Cells(2, .Range("T_Listen").Find(what:="T_Anrede", LookIn:=xlValues, lookat:=xlWhole).Column), _
.Cells(Rows.Rows.Count, Range("T_Listen").Find(what:="T_Anrede", LookIn:=xlValues, lookat:=xlWhole).Column).End(xlUp)).Value
VARIANTE 2
Dim rng as Range
Set rng = Range("T_Listen").Find(what:="T_Anrede", LookIn:=xlValues, lookat:=xlWhole)
UF1.cboLF_Anrede.List = Range(.Cells(2, rng.Column), .Cells(Rows.Rows.Count, rng.Column).End(xlUp)).Value
End with
Oder gibt es eine bessere Lösung?
Danke!
Gruß
Sigi

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: combobox einlesen
15.10.2019 23:02:51
Rudi
Hallo,
ich würde wegen der Übersichtlichkeit Var2 bevorzugen.
Wozu Speicherplatz einsparen? Ist doch heutzutage kein Problem.
Gruß
Rudi
AW: combobox einlesen
16.10.2019 05:38:55
Sigi
Hallo Rudi,
Danke für Deinen Tipp!
Gruß
Sigi
AW: combobox einlesen
16.10.2019 08:28:18
Luschi
Hallo Sigi,
bei Variante 2 gehört aber auch dazu, daß man selbst definierte Objekt-Variablen auch selber wieder entsorgt:
Set rng = Range("T_Listen")....
'Dein Code
'rng wird nicht mehr gebraucht
Set rng = Nothing
'weiterer Code
End Sub/Function
Gruß von Luschi
aus klein-Paris
AW: combobox einlesen
16.10.2019 08:37:38
Sigi
Hallo Luschi,
das würde bedeuten das ich nach jeder zu füllenden ComboBox die rng-Variable auf
Nothing setzen muß?
Set rng = Range("T_Listen").Find(what:="T_Anrede", LookIn:=xlValues, lookat:=xlWhole)
UF1.cboMA_Anrede.List = Range(.Cells(2, rng.Column), .Cells(Rows.Rows.Count,
rng.Column).End(xlUp)).Value
Set rng = nothing
Set rng = Range("T_Listen").Find(what:="T_Titel", LookIn:=xlValues, lookat:=xlWhole)
UF1.cboMA_Titel.List = Range(.Cells(2, rng.Column), .Cells(Rows.Rows.Count,
rng.Column).End(xlUp)).Value
Set rng = Nothing
usw.
Ist das programmiertechnisch so ?
Danke!
Gruß Sigi
Anzeige
AW: combobox einlesen
16.10.2019 08:57:53
Luschi
Hallo Sigi,
Jein:
Set rng = Range("T_Listen").Find(what:="T_Anrede", LookIn:=xlValues, lookat:=xlWhole)
'tue etwas mit 'rng'
Set rng = Range("T_Listen").Find(what:="T_Titel", LookIn:=xlValues, lookat:=xlWhole)
'tue etwas mit 'rng'
Set rng = Range("T_Listen").Find(what:="T_Irgendwas", LookIn:=xlValues, lookat:=xlWhole)
'tue etwas mit 'rng'
'rng wird nicht mehr gebraucht
Set rng = Nothing
Gruß von Luschi
aus klein-Paris
AW: combobox einlesen
16.10.2019 09:01:26
Sigi
Hallo Luschi,
vielen Dank!
Habe mich schon auf viel Arbeit eingerichtet.
Gruß
Sigi
AW: combobox einlesen
17.10.2019 06:57:46
Luschi
Hallo Sigi,
hier noch ein Hinweis zu Vba-Find:
siehe https://docs.microsoft.com/de-de/office/vba/api/excel.range.find
Gemäß den Bemerkungen darin werden folgende 4 Parameter gespeichert und könnten auch über die Excel-Oberfläche (Strg+F) verändert werden und haben dann Auswirkungen auch bei Vba-Find:
LookIn, LookAt, SearchOrder und MatchByte. Deshalb immer alle 4 bei jedem Find-Befehl angeben.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: combobox einlesen
17.10.2019 07:02:32
Sigi
Hallo Luschi,
vielen Dank für Deinen Hinweis.
Werde es beherzigen.
Gruß
Sigi
AW: combobox einlesen
17.10.2019 07:48:41
Sigi
Hallo Luschi,
scheinbar mache ich was falsch mein Code
Sub suchen()
Dim rng As Range
Set rng = Range("Ang_ID").Find(What:="*Ang_ID", _
After:=ActiveCell, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
MatchCase:=False)
MsgBox rng.Column
rng = Nothing
End Sub

Bringt die Fehlermeldung 'Typen unverträglich'
Was ist falsch?
Danke
Gruß
Sigi
AW: Fehler gefunden
17.10.2019 07:52:37
Sigi
Hallo Luschi,
Habe den Fehler gefunden
After:=ActiveCell
und Set rng = Nothing
Gruß
Sigi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige