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

Schleife falsch

Schleife falsch
02.02.2021 11:12:41
doliwsef
Mit Recherchieren und probieren (try und error) habe ich folgendes Programm zustande bekommen:
Sub Zaehlen()
Dim rng As Range
Dim a As String
Dim b As String
Dim cell As Range
Dim LR As Long
With Sheets("SaP500")
LR = .Range("O" & Rows.Count).End(xlUp).Row
For Each cell In Sheets("SaP500").Range("L1:L900" & LR)
If cell.Value  "" Then
If rng Is Nothing Then
Set rng = cell
Else
Set rng = Union(rng, cell)
End If
End If
Next cell
a = Cells(ActiveCell.Row, 1).Value
b = Cells(ActiveCell.Row + 1, 1).Value
MsgBox "Entered value is " & a & b
End With
End Sub

Irgendwie funktioniert sie und irgendwie nicht. Gewünscht ist, daß bei einem Zellwert "1" in der Spalte "L"die Variablen a und b gesetzt werden und später woanders reingeschrieben. Jedoch nimmt er den Zellwert "1", wenn die Zellen hervorgehoben werden sollen, aber mit der Zuordnung der Variablen habe ich Krautsalat. Weiß jemand warum?

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife falsch
02.02.2021 11:27:15
MRUTOR
Hallo,
einen Fehler sehe ich sofort hier:

For Each cell In Sheets("SaP500").Range("L1:L900" & LR)

Entweder bis Zeile 900 oder bis zur letzten ermittelten. Beides geht nicht:

For Each cell In Sheets("SaP500").Range("L1:L" & LR)

Gruss Tor
AW: Schleife falsch
02.02.2021 11:50:24
doliwsef
Hi, ich sehe nirgendswo, daß ich beide Varianten eingegeben habe. Ich erkenne nur L1:L900. Wo soll bitte der Parameter L1:L oder L:L stehen?
AW: Schleife falsch
02.02.2021 11:54:20
MRUTOR
Die Zeile
For Each cell In Sheets("SaP500").Range("L1:L900" & LR)

ist direkt aus deinem Code kopiert. Hier hast du als Range angegeben L1:L900 und hast aber zusaetzlich noch deine Variable dazugesetzt mit & LR. Wenn du die Spalte durchlaufen willst von Zeile 1 bis Zeile 900 dann:
For Each cell In Sheets("SaP500").Range("L1:L900")

wenn von Zeile 1 bis zur letzten benutzten dann:
For Each cell In Sheets("SaP500").Range("L1:L" & LR)

Anzeige
AW: Schleife falsch
02.02.2021 15:00:21
doliwsef
AHA, ich verstehe! Ich habe die Bezeichung LR nicht gekannt! Vielen Dank!
AW: Schleife falsch
02.02.2021 11:27:45
ralf_b
Moin,
wenn du den Zellwert 1 suchst warum prüfst du auf "" ?
cell wird nur zu rng zugewiesen aber nicht weiter genutzt.
die activecell ist immer die selbe. die ändert sich nicht in der Schleife
a und b erhalten also einmal nach schleifendurchlauf einen wert.
gruß
rb
AW: Schleife falsch
02.02.2021 11:53:19
doliwsef
Ich dachte, daß heißt, daß er in die Nächste Zelle springen soll und die Schleife neu beginnt. Ist dem nicht so?
AW: Schleife falsch
02.02.2021 14:00:51
ralf_b
in dieser schleife werden die Werte aus Spalte "A" der ausgewerteten Zeile in a und die Werte eine Zeile darunter in b geschrieben wenn in Spalte L eine 1 drin steht.

For Each cell In Sheets("SaP500").Range("L1:L" & LR)
If cell.Value =1  Then
a =  Cells(cell.Row, 1).Value
 b =  Cells(cell.Row + 1,1).Value
End If
Next cell

Anzeige
AW: Schleife falsch
02.02.2021 15:16:20
doliwsef
Danke Ralf, für Deinen Text, der aber bei mir gar nicht funktioniert. Ich habe folgendes Programm von einem amerikanischen Video geschrieben und meine Probleme waren behoben. Nun aber verstehe ich nicht, warum die Schleife beim ersten Wert "1" hängen bleibt. Verstehst Du das?
Sub Zaehlen()
Dim a As String
Dim b As String
Dim I As Range
For Each I In Range("L1:L900")
If I.Value = 1 Then
a = Cells(ActiveCell.Row, 1).Value
b = Cells(ActiveCell.Row + 1, 1).Value
MsgBox "Entered value is " & a & b
End If
Next I
End Sub

AW: Schleife falsch
02.02.2021 15:27:24
ralf_b
ja, das könnte ich verstehen wenn du uns auch die Daten zum code zeigen würdest.
Es gehören immer zwei zum Funktionieren. Der Code und die Daten. UND eine Beschreibung was der Code genau tun soll, denn so richtig schlau bin ich noch nicht aus deinen Schilderungen.
gruß
rb
Anzeige
AW: Schleife falsch
02.02.2021 16:10:14
ralf_b
Manchmal klemmt das Forum halt ein wenig.
dein Code funktioniert wie er soll. fertig
Keine Ahnung was du da irgendwie und vor allem in welcher Datei und in welchem Code rumgebastelt hast.
Ich bin schon etwas sauer das du es drauf hast ne Datei ohne den besprochenen Code hochzuladen.
Stefan, du kannst deine Geheimnisse behalten und ich nutze meine Lebenszeit um Anderen zu helfen.
gruß
rb
Anzeige
AW: Schleife falsch
02.02.2021 16:19:16
doliwsef
Danke für Deine Hilfe. Ich mußte es so mache, da ich sonst 11MB gahabt habe und das so nicht hochladen konnte.
AW: Schleife falsch
02.02.2021 16:08:25
Rudi
ersetz mal ActiveCell.Row durch I.Row.
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige