If...Then in For...Next

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Neptun.

    If...Then in For...Next

    Hey,

    ich habe zum suchen von Daten in einem Programm mit der For...Next und der If...Then option gearbeitet.

    Dim x As Integer

    For x = .... To ....

    If .... = ..... Then

    ..........

    End If

    Next x

    Wenn das was ich suche aber nicht in der Liste vorhanden ist, soll in einem Label angezeigt werden, dass es nicht da ist. Ich hab es schon mit Else und ElseIf ... <>... Then probiert aber es funktioniert nicht. Was mache ich falsch? Wenn möglich auch für Excelprogrammierung.

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Also ich hab das bei Excel programmiert:

    Quellcode

    1. Dim x As Integer
    2. For x = 1 To 601
    3. If txtFilmtitel.Text = Tabelle2.Cells(x, 2) Then
    4. Tabelle1.Cells(14, 2) = "Der Film '" & txtFilmtitel.Text & "' ist vorhanden"
    5. Tabelle1.Cells(15, 2) = txtFilmtitel.Text
    6. Tabelle1.Cells(16, 2) = "Genre: " & Tabelle2.Cells(x, 5)
    7. Tabelle1.Cells(17, 2) = "Laufzeit: " & Tabelle2.Cells(x, 4)
    8. Tabelle1.Cells(18, 2) = "FSK: " & Tabelle2.Cells(x, 3)
    9. Tabelle1.Cells(19, 2) = "Der Film hat den Platz Nr. " & Tabelle2.Cells(x, 1)
    10. End If
    11. Next x


    Aber ich möchte noch, dass in einer Zelle angezeigt wird, wenn der Filmtitel nicht in der Liste ist. Ich habe das schon versucht:

    Quellcode

    1. Dim x As Integer
    2. For x = 1 To 601
    3. If txtFilmtitel.Text = Tabelle2.Cells(x, 2) Then
    4. Tabelle1.Cells(14, 2) = "Der Film '" & txtFilmtitel.Text & "' ist vorhanden"
    5. Tabelle1.Cells(15, 2) = txtFilmtitel.Text
    6. Tabelle1.Cells(16, 2) = "Genre: " & Tabelle2.Cells(x, 5)
    7. Tabelle1.Cells(17, 2) = "Laufzeit: " & Tabelle2.Cells(x, 4)
    8. Tabelle1.Cells(18, 2) = "FSK: " & Tabelle2.Cells(x, 3)
    9. Tabelle1.Cells(19, 2) = "Der Film hat den Platz Nr. " & Tabelle2.Cells(x, 1)
    10. Else Tabelle1.Cells(14, 2= "Der Film ist nicht vorhanden"
    11. End If
    12. Next x


    und das:

    Quellcode

    1. Dim x As Integer
    2. For x = 1 To 601
    3. If txtFilmtitel.Text = Tabelle2.Cells(x, 2) Then
    4. Tabelle1.Cells(14, 2) = "Der Film '" & txtFilmtitel.Text & "' ist vorhanden"
    5. Tabelle1.Cells(15, 2) = txtFilmtitel.Text
    6. Tabelle1.Cells(16, 2) = "Genre: " & Tabelle2.Cells(x, 5)
    7. Tabelle1.Cells(17, 2) = "Laufzeit: " & Tabelle2.Cells(x, 4)
    8. Tabelle1.Cells(18, 2) = "FSK: " & Tabelle2.Cells(x, 3)
    9. Tabelle1.Cells(19, 2) = "Der Film hat den Platz Nr. " & Tabelle2.Cells(x, 1)
    10. ElseIf txtFilmtitel.Text <> Tabelle2.Cells(x, 2) Then
    11. Tabelle1.Cells(14, 2) = "Der Film ist nicht vorhanden"
    12. End If
    13. Next x


    Also was hab ich falsch gemacht oder kann ich machen, damit es funktioniert??
    Hallo Simon1994,
    probier's mal so:

    Visual Basic-Quellcode

    1. Dim x As Integer
    2. Dim FlagGefunden As Boolean
    3. FlagGefunden = False
    4. For x = 1 To 601
    5. If txtFilmtitel.Text = Tabelle2.Cells(x, 2) Then
    6. Tabelle1.Cells(14, 2) = "Der Film '" & txtFilmtitel.Text & "' ist vorhanden"
    7. Tabelle1.Cells(15, 2) = txtFilmtitel.Text
    8. Tabelle1.Cells(16, 2) = "Genre: " & Tabelle2.Cells(x, 5)
    9. Tabelle1.Cells(17, 2) = "Laufzeit: " & Tabelle2.Cells(x, 4)
    10. Tabelle1.Cells(18, 2) = "FSK: " & Tabelle2.Cells(x, 3)
    11. Tabelle1.Cells(19, 2) = "Der Film hat den Platz Nr. " & Tabelle2.Cells(x, 1)
    12. FlagGefunden = True
    13. End If
    14. Next x
    15. If FlagGefunden = False Then
    16. Tabelle1.Cells(14, 2) = "Der Film ist nicht vorhanden"
    17. End If
    Gruss,

    Neptun