Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

For...Next Schleife mit variablem Startwert

Forumthread: For...Next Schleife mit variablem Startwert

For...Next Schleife mit variablem Startwert
13.01.2025 08:50:00
Max
Guten Morgen und vorab schon einmal Danke für eure Hilfe!

Ich habe folgende Problematik:

In einem Kalender tragen sich MA ein, wenn diese ins HomeOffice gehen wollen.
Diese MA sitzen allerdings an drei unterschiedlichen Standorten und sind in zwei Arbeitsgruppen unterteilt. Das heißt ein Standort ist gesplittet.
Die Auflistung in der Tabelle ist nach Arbeitsgruppen. Die Kapazitäten der Laptops ist allerdings je Standort limitiert.

        For lngZeileStartPdm = 33 To lngZeileMaxPdm 'Schleife für Postdam


If Not .Cells(lngZeileStartPdm, lngSpalte).Interior.ColorIndex = xlNone Then
lngIndexPdm = lngIndexPdm + 1
End If

Next lngZeileStartPdm


In dieser Schleife ist der Start mit Zeile 33 festgelegt. Sollte allerdings personelle Veränderung stattfinden müsste jedesmal im Editor dieser Wert verändert werden.
Im worst-Case sind das vier Schleifen die von Menschen geändert werden müssen, die wenig Ahnung von VBA haben.
Ich hätte gerne das Excel sich den Startwert (aktuell 33) aus einer Zelle eines Arbeitsblattes zieht.
Sämtliche Variablen sind aktuell als Long definiert.

Aus Datenschutzgründen kann ich nicht die Datei hochladen, aber ich denke der Abschnitt ist der relevante und die Informationen sind aussagekräftig genug.

Gruß Max
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For...Next Schleife mit variablem Startwert
13.01.2025 09:21:37
Crazy Tom
moin,

du hast dir die Antwort doch eigentlich schon selbst gegeben
der Startwert steht in Zelle A1
dim lngStart as long
lngstart = range("A1").value
For lngZeileStartPdm = lngstart To lngZeileMaxPdm

noch ne Prüfung auf IstZahl auf die Variable und fertsch

mfg Tom
Anzeige
AW: For...Next Schleife mit variablem Startwert
13.01.2025 09:39:07
Max
Vielen Dank!
So ähnlich hatte ich es versucht allerdings mit

Tabelle2.Cells(2, 7).Value

Das wollte er nicht. Mit Range funktioniert es.
AW: For...Next Schleife mit variablem Startwert
13.01.2025 10:58:56
daniel
Hi
es sollte mit Range und Cells gleichermaßen funktionieren.
da du wahrscheinlich mehrere Tabellenblätter hast, solltest du vor Range oder Cells immer das dazugehörige Tabellenblatt.


wenn man diese Methode mal angefangen hat, findest man schnell Geschmack daran und immer mehr Parameter wandern ins Tabellenblatt.
daher mein Tipp:
Vergib der Zelle, die den Wert enthält, einen Excel-Namen (Namenseditor), hier beispielsweise: StartZeileSchleifeXXX (darf natürlich schöner sein)
im Makro sprichst du diese Zelle dann über diesen Namen an: Range("StartZeileSchleifeXXX").Value

das hat folgende Vorteile:
- wenn du mehrerer solcher Zellen hast, siehst du im Code sofort, welcher Wert gemeint ist
- du kannst im Blatt über den Namenseditor oder die Namenszeile schnell herausfinden, wo der jeweilige Wert zu finden ist.
- wenn du mal in deinem Blatt mit den Parametern Zellen verschiebst, musst du den Code nicht anpassen, wenn du über den Namen gehst.
beim Einfügen oder Löschen von Zellen verschieben sich die Namensbezüge automatisch mit.

Gruß Daniel
Anzeige

Forumthreads zu verwandten Themen

Anzeige