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

Range mit For Schleife bestimmen

Range mit For Schleife bestimmen
23.11.2014 21:30:26
Robert
Hallo zusammen,
ich möchte folgenden Code ausführen lassen und nach dem ersten Durchlauf die Range verändern und den Code erneut mit der neuen Range ausführen lassen. Ich hab dazu ein Dropdown erstellt in welchem nur die Werte 1 - 6 vorkommen können, sprich maximal sollen 5 Anpassungen der Range erfolgen inklusive 6 Ausführungen.

Dim ValidationList(4) As String
ValidationList(0) = "A"
ValidationList(1) = "B"
ValidationList(2) = "E"
ValidationList(3) = "T"
With Range("Q59").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop,  _
Operator:= _
xlEqual, Formula1:=Join(ValidationList, ",")
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Wie ihr seht soll die erste Ausführung in der Range("Q59") erfolgen. Wenn zum Beispiel jetzt die 3 selektiert wurde im Dropdown soll nach dem ersten Durchlauf die Range für den zweiten Durchlauf auf Range("Q60") und beim dritten Durchlauf auf Range("Q61")angepasst werden.
Könnt ihr mir bitte weiterhelfen wie ich das Ganze angehen soll? Bisher habe ich es lediglich geschafft den im Dropdown selektierteh Wert an eine Variable zu übergeben und könnte mir Vorstellen den bisher festgelegten Range durch eine Range-Variable zu ersetzen welche durch eine Schleife entsprechend der Selektion im Dropdown hochlaufen muss.
Wäre echt nett wenn mir jemand einen Denkanstoß geben kann und Entschuldigung für die wohlmöglich dumme Frage :o(
mfG
Robert

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range mit For Schleife bestimmen
24.11.2014 00:06:35
Gerd
Hallo Robert,
ein Ansatz:
Sub c()
Dim intCheck As Integer, intCt As Integer
Dim ValidationList(4) As String
ValidationList(0) = "A"
ValidationList(1) = "B"
ValidationList(2) = "E"
ValidationList(3) = "T"
'intCheck = Range("A1").Value
intCheck = 3  'Testwert
For intCt = 0 To intCheck - 1
With Range("Q59").Offset(0, intCt).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:= _
xlEqual, Formula1:=Join(ValidationList, ",")
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Next
End Sub
Gruß Gerd

Anzeige
AW: Range mit For Schleife bestimmen
24.11.2014 15:00:18
Robert
Hi Gerd,
der Offset funktioniert soweit einwandfrei. Ist es möglich zwischen den Ranges noch jeweils eine Leerzelle einzufügen (Q59, Leerzelle, Q60, Leerzelle, usw.). Die Range beginnt ja bei Q59 und damit müssen ja die beiden ersten Werte des Offsets (0, 0) sein wenn ich das richtig verstehe. Wenn ich jetzt direkt mit Werten im Offset rechne
.Offset(0, intCt + 2) wird die erste Ausführung ja nicht mehr in Zelle Q59 stattfinden oder? Gibt es hierzu eine smarte Lösung eine Leerzelle einzufügen?
mfG
Robert

AW: Range mit For Schleife bestimmen
24.11.2014 19:17:54
Gerd
Guten Abend, Robert!
Multipliziere hat, also
(0, intCt * 2)
Gruß Gerd

Anzeige
AW (s.unten) haben d.Herr wohl nicht nötig! :-[ oW
24.11.2014 05:17:31
Luc:-?
:-?

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige