Excel VBA - Wert auslesen?

1 Antwort

Ist ja klar. Du weist den Wert der Variable "i" der Zelle zu (in diesem Falle 0).

Wenn du den Wert abfragen und in einer Variable speichern möchtest, müsstest du es umkehren:

i = Worksheets("Blatt1").Cells(1, 1).Value
paul221199 
Fragesteller
 04.03.2020, 13:02

Ah danke, leuchtet ein...

2
paul221199 
Fragesteller
 04.03.2020, 14:15

Habe gerade noch ein anderes Problem. Ich möchte eine Schleife/Loop bei der zwei Bedingungen vorkommen.

Zum einen muss die Antwort der vorigen MsgBox "yes" sein (soweit kein Problem) und zudem muss das i von 1 bis 10 laufen. Wie kann ich das zusammenfassen in eine Schleife/Loop?

1
Oubyi, UserMod Light  04.03.2020, 19:44
@paul221199

Das hört sich nicht nach einer Schleife mit zwei Bedingungen an, sondern nach einer Bedingung (If) und einer Schleife (For). Z.B.:

Sub Test()
Dim i As Integer

If MsgBox("Frage", vbYesNo) = vbYes Then
  For i = 1 To 10
    Debug.Print i
  Next i
  Else: 'was auch immer
End If
End Sub

Hilft Dir das?

2
paul221199 
Fragesteller
 04.03.2020, 23:34
@Oubyi, UserMod Light

Danke für die Hilfe, das ist es fast denke ich. Es muss eben noch ein Loop dazu, damit ich nach einem Durchgang erneut gefragt werde in der MsgBox und der Durchgang für das nächste i stattfindet. Ich hoffe man versteht was ich meine... Meine Idee war ungefähr siehe unten: Problem: Es durchläuft dann nur die For Schleife ohne mich erneut zu fragen

Sub Test()
Dim i As Integer

Do while MsgBox("Frage", vbYesNo) = vbYes
  For i = 1 to 10
    Cells(i ,1).Value
  Next i
MsgBox("Frage", vbYesNo)
Loop
  
End Sub
1
Oubyi, UserMod Light  05.03.2020, 01:38
@paul221199

Nein, ich verstehe leider nicht, was Du vorhast. Beschreibe doch mal, wie das für den Nutzer ablaufen soll.
Vielleicht: Er wird gefragt, sagt ja, die Schleife läuft; Er wird nochmal gefragt, sagt ja, die Schleife läuft; usw. ; Er wird gefragt, sagt NEIN und Ende? Das wäre z.B.:

Sub Test()
Dim i As Integer

Do While MsgBox("Frage", vbYesNo) = vbYes
  For i = 1 To 10
    Debug.Print i
  Next i
Loop
End Sub
1