Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
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

For Each Zelle In Range("D1:D" & Range("D40000"

For Each Zelle In Range("D1:D" & Range("D40000"
27.08.2008 22:23:00
reiner
Hallo Leute,
mit:

For Each Zelle In Range("D1:D" & Range("D40000").End(xlUp).Row)
If Zelle.Text  0 Then
cboDatum.AddItem Zelle.Offset(0, 0).Text & "  " & Zelle.Offset(0, 1).Text
End If
Next


..wird eine CB mit den Inhalten der Spalten „D“ und „E“ befüllt, der Nachteil ist jedoch dass sämtliche Datensätze (z.Zt. über 5000) in die CB eingelesen werden.
Diese Datensätze wurden in den letzten 8 Jahren angelegt.
Über CheckBoxen will ich nun einzelne Jahrgänge zum Einlesen in die CB auswählen; der erste Datensatz des jeweiligen Jahrgangs wird über die Variable „BereichAnfang“ und der letzte Datensatz über „BereichEnde“ definiert.
Im Moment stehe ich auf dem Schlauch da es mir gelingt mit der „FOR“- Anweisung den Bereich mittels der beiden Variablen einzugrenzen.
Weiß jemand wie der korrekte Programmcode lauten müsste?
mfg
reiner

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For Each Zelle In Range("D1:D" & Range("D40
27.08.2008 22:37:00
Uduuh
Hallo,
wenn BereichAnfang und BereichEnde auch Ranges sind:
For each Zelle in Range(BereichAnfang, BereichEnde)
Gruß aus’m Pott
Udo

ComboBox befüllen
27.08.2008 22:49:00
reiner
hallo,
das funktioniert leider nicht;
Fehlermeldung: Laufzeitfehler "1004":
Die Methode'Range! für das Oblekt '_Global' ist fehlgeschlagen
BereichAnfang und BereichEnde sind Variablen!
Die Betreffzeile sollte eigentlich richtig lauten: ComboBox befüllen
mfg
reiner
AW: ComboBox befüllen
27.08.2008 23:14:00
Uduuh
Hallo,

BereichAnfang und BereichEnde sind Variablen!


welchen Typs?
Gruß aus’m Pott
Udo

Anzeige
AW: ComboBox befüllen
27.08.2008 23:15:00
Ramses
Hallo
du sagst nicht WAS in der Variable "BereichAnfang" und "BereichEnde" steht.
Sind das nur die Zeilennummern, dann so
For Each Zelle In Range("D" & BereichAnfang & ":D" & BereichEnde)
Ist "BereichAnfang" und "BereichEnde" mit der Set-Methode als Range definiert
Set bereichanfang = Range("D1")
und NUR als einzelne Zelle, dann so
For Each Zelle In Range(BereichAnfang.Address(0,0) & ":" & BereichEnde.Address(0,0))
Gruss Rainer
Hallo Udo und Ramses
27.08.2008 23:25:13
reiner
ich habe eine Lösung gefunden
mit:

For Each Zelle In Range(Cells(BereichAnfang, 4), Cells(BereichEnde, 4))
If Zelle.Text  0 Then
frmGesprächszeit.cboDatum.AddItem Zelle.Offset(0, 0).Text & "  " & Zelle.Offset(0,  1). _
Text
cbodatumEinträge = cboDatum.ListCount
End If
Next


werden die Datendätze wie gewünscht nur in dem von "BereichAnfang" bis "BereichEnde" definierten Zeilen eines gewählten Jahres eingelesen.
Danke für eure Unterstützung
reiner

Anzeige
AW: @Ramses
27.08.2008 23:34:36
Erich
Hi Rainer und Reiner,
statt
For Each Zelle In Range(BereichAnfang.Address(0,0) & ":" & BereichEnde.Address(0,0))
ginge auch einfach
For Each Zelle In Range(BereichAnfang, BereichEnde)
(Ist für Reiner nicht mehr interessant, da BereichAnfang, BereichEnde ohnehin Long-Variablen sind
und seine Range(Cells(...))-Lösung gut passt.)
Nur noch ein Tipp:
"Zelle" würde ich nicht als Variablennamen verwenden, eher z. B. "rngZ". (Danach sucht sichs auch besser...)
Zelle ist ein von Excel belegter Begriff (Funktion ZELLE).
Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: @Ramses
27.08.2008 23:42:00
Ramses
Hallo
Klar ginge das, da er aber ohnehin so komisch adressierte, dachte ich er würde es leichter verstehen.
"..und seine Range(Cells(...))-Lösung gut passt.).."
Woher auch immer die jetzt gekommen ist :-(
Gruss Rainer

76 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige