Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textbox Inhalt vergleichen mit Wert aus Zelle und.

Textbox Inhalt vergleichen mit Wert aus Zelle und.
25.04.2017 12:30:22
Carsten
Hallo zusammen ich bin neu hier und eigne mir gerade ein bisschen VBA an um bei meiner Bachelor Thesis ein wenig schneller vorran zu kommen. :)
  • 
    Private Sub CB_OK_Click()
    If TextBox1.Text = Sheets("Eingabe").Range("L4") And TextBox2.Text = Sheets("Eingabe").Range("  _
    _
    L4") And TextBox3.Text = Sheets("Eingabe").Range("L4") And TextBox4.Text = Sheets("Eingabe"). _
    Range("L4") And TextBox5.Text = Sheets("Eingabe").Range("L4") And TextBox6.Text
    = Sheets("Eingabe").Range("L4") And TextBox7.Text = Sheets("Eingabe").Range("L4") And TextBox8. _
    Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N4"). _
    Value = TextBox1
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N5"). _
    Value = TextBox2
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N6"). _
    Value = TextBox3
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N7"). _
    Value = TextBox4
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N8"). _
    Value = TextBox5
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N9"). _
    Value = TextBox6
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N10"). _
    Value = TextBox7
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N11"). _
    Value = TextBox8
    End
    Else
    ScannerAbfrage.Show vbModeless
    MsgBox "Falsche Gegenstände!"
    Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    End Sub
    

  • Also soweit läuft alles Top, allerdings bekomme ich natürlich nur die Meldung das Falsche Gegenstände vorhanden sind ich fände es allerdings prima wenn mir die Meldung ausgibt welche der Textboxen betroffen sind. Also ungleich des Inhaltes der Zelle L4. (z.B. Textbox1 und Textbox2 sind falsch - Der Rest OK!)
    Ist das möglich? Ich hätte gedacht wenn ich mehrere If funktionen hintereinander setze, allerdings klappt das irgendwie nicht so. :(
    Vielen dank schonmal!:)

    9
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Textbox Inhalt vergleichen mit Wert aus Zelle und.
    25.04.2017 12:49:59
    yummi
    Hallo Carsten,
    so in der Art:
    
    Private Sub CB_OK_Click()
    dim msgstr as string
    If   TextBox1.Text = Sheets("Eingabe").Range("L4")_
    And TextBox2.Text = Sheets("Eingabe").Range("L4")_
    And TextBox3.Text = Sheets("Eingabe").Range("L4")_
    And TextBox4.Text = Sheets("Eingabe").Range("L4")_
    And TextBox5.Text = Sheets("Eingabe").Range("L4")_
    And TextBox6.Text = Sheets("Eingabe").Range("L4")_
    And TextBox7.Text = Sheets("Eingabe").Range("L4")_
    And TextBox8.Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N4").Value = TextBox1
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N5").Value = TextBox2
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N6").Value = TextBox3
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N7").Value = TextBox4
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N8").Value = TextBox5
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N9").Value = TextBox6
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N10").Value = TextBox7
    Workbooks("Beispielablauf.xlsm").Worksheets("EINGABE").Range("N11").Value = TextBox8
    End
    Else
    msgstr = "Falsche Gegenstände!" &vbcrLf
    If TextBox1.Text  Sheets("Eingabe").Range("L4") then
    msgstr = msgstr & "Textbox1" &vbcrLF
    end if
    if TextBox2.Text = Sheets("Eingabe").Range("L4") then
    end if
    'usw
    ScannerAbfrage.Show vbModeless
    MsgBox "Falsche Gegenstände!"
    Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    End Sub
    
    Gruß
    yummi
    Anzeige
    AW: Textbox Inhalt vergleichen mit Wert aus Zelle und.
    25.04.2017 12:52:49
    ChrisL
    Hi Carsten
    Vielleicht so...
    Private Sub CB_OK_Click()
    Dim i As Byte, strCheck As String
    For i = 1 To 8
    If Controls("TextBox" & i)  Worksheets("EINGABE").Range("L4") Then _
    strCheck = strCheck & Chr(10) & "TextBox" & i
    Next i
    If strCheck = "" Then
    ' Übertrag
    Else
    MsgBox "Folgende Felder enthalten Fehler:" & strCheck
    End If
    End Sub
    
    cu
    Chris
    AW: Textbox Inhalt vergleichen mit Wert aus Zelle und.
    25.04.2017 13:01:56
    Carsten
    Ok vielen Dank euch ich habs jetzt so hinbekommen:
  • 
    Private Sub CB_OK_Click()
    If TextBox1.Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N4"). _
    Value = TextBox1
    Else
    ScannerAbfrage.Show vbModeless
    'MsgBox "Mindestens ein Barcode fehlerhaft! (unter 12-Stellen)"
    MsgBox "Falsche Platten!1"
    'Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    If TextBox2.Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N5"). _
    Value = TextBox2
    Else
    ScannerAbfrage.Show vbModeless
    'MsgBox "Mindestens ein Barcode fehlerhaft! (unter 12-Stellen)"
    MsgBox "Falsche Platten!2"
    'Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    If TextBox3.Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N6"). _
    Value = TextBox3
    Else
    ScannerAbfrage.Show vbModeless
    'MsgBox "Mindestens ein Barcode fehlerhaft! (unter 12-Stellen)"
    MsgBox "Falsche Platten!3"
    'Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    If TextBox4.Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N7"). _
    Value = TextBox4
    Else
    ScannerAbfrage.Show vbModeless
    'MsgBox "Mindestens ein Barcode fehlerhaft! (unter 12-Stellen)"
    MsgBox "Falsche Platten!4"
    'Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    If TextBox5.Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N8"). _
    Value = TextBox5
    Else
    ScannerAbfrage.Show vbModeless
    'MsgBox "Mindestens ein Barcode fehlerhaft! (unter 12-Stellen)"
    MsgBox "Falsche Platten!5"
    'Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    If TextBox6.Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N9"). _
    Value = TextBox6
    Else
    ScannerAbfrage.Show vbModeless
    'MsgBox "Mindestens ein Barcode fehlerhaft! (unter 12-Stellen)"
    MsgBox "Falsche Platten!6"
    'Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    If TextBox7.Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N10"). _
    Value = TextBox7
    Else
    ScannerAbfrage.Show vbModeless
    'MsgBox "Mindestens ein Barcode fehlerhaft! (unter 12-Stellen)"
    MsgBox "Falsche Platten!7"
    'Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    If TextBox8.Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N11"). _
    Value = TextBox8
    Else
    ScannerAbfrage.Show vbModeless
    'MsgBox "Mindestens ein Barcode fehlerhaft! (unter 12-Stellen)"
    MsgBox "Falsche Platten!8"
    'Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    End
    End Sub
    

  • Nicht die schönste Lösung aber geht so halbwegs. Kommen halt alle Msgboxes nacheinander das ist nicht so nett aber schaue mir jetzt mal eure Ideen an, vielen Dank!:)
    Anzeige
    AW: Textbox Inhalt vergleichen mit Wert aus Zelle und.
    25.04.2017 13:10:27
    ChrisL
    Hi Carsten
    Den Code kann ich so nicht stehen lassen ;)
    Gekürzt:
    Private Sub CB_OK_Click()
    Dim i As Byte
    With ThisWorkbook.Worksheets("EINGABE")
    For i = 1 To 8
    If Controls("TextBox" & i).Text = .Range("L4") Then
    .Range("N4").Value = Controls("TextBox" & i)
    Else
    MsgBox "Falsche Platten!" & i
    End If
    Next i
    End With
    End Sub
    

    Folgendes konnte ich nicht klar einordnen (warum wird der Befehl wiederholt):
    ScannerAbfrage.Show vbModeless
    cu
    Chris
    AW: Textbox Inhalt vergleichen mit Wert aus Zelle und.
    25.04.2017 13:18:15
    Carsten
    Prima ich danke dir! Echt super das einem hier direkt geholfen wird :) also das war nen denkfehler mit dem Show aber im Prinzip wollte ich das der Scan vorgang direkt wiederholt werden sollte.
    Aber habe es jetzt so hinbekommen mit eurer hilfe! Jetzt sagt er mir immer schön an welche Position falsch ist etc. das war mein Ziel :)
    Anzeige
    AW: Textbox Inhalt vergleichen mit Wert aus Zelle und.
    25.04.2017 13:24:24
    UweD
    Hallo
    so?
    
    Private Sub CommandButton1_Click()
    Dim varLL, Fehler As String, WB As Workbook, i As Integer
    With ActiveWorkbook
    varLL = .Sheets("Eingabe").Range("L4")
    For i = 1 To 8
    If Controls("TextBox" & i).Text  varLL Then Fehler = Fehler & "TB" & i & ", "
    Next
    If Fehler = "" Then
    For i = 1 To 8
    .Worksheets("EINGABE").Range("N" & i + 3) = Controls("TextBox" & i).Text
    Next
    Else
    ScannerAbfrage.Show vbModeless
    MsgBox "Falsche Gegenstände! in " & Fehler
    Unload Me
    ScannerAbfrage.Show vbModeless
    'Start in der If-Schleife also Eingabeüberprüfung => wenn ok dann end
    End If
    End With
    End Sub
    

    Anzeige
    AW: Textbox Inhalt vergleichen mit Wert aus Zelle und.
    25.04.2017 13:32:02
    Carsten
    Wahnsinn. Klappt prima, wird ja immer kürzer der Code.. also da muss ich noch einiges lernen, aber bin ja auch erst ne Woche dabei aber macht schon Spass das ganze!:)
    AW: Textbox Inhalt vergleichen mit Wert aus Zelle und.
    25.04.2017 13:27:45
    Carsten
    So das fertige Ergebnis sieht jetzt so aus:
  • 
    Private Sub CB_OK_Click()
    Dim msgstr As String
    If TextBox1.Text = Sheets("Eingabe").Range("L4") And TextBox2.Text = Sheets("Eingabe").Range(" _
    L4") And TextBox3.Text = Sheets("Eingabe").Range("L4") And TextBox4.Text = Sheets("Eingabe").Range
    ("L4") And TextBox5.Text = Sheets("Eingabe").Range("L4") And TextBox6.Text = Sheets("Eingabe"). _
    Range("L4") And TextBox7.Text = Sheets("Eingabe").Range("L4") And
    TextBox8.Text = Sheets("Eingabe").Range("L4") Then
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N4"). _
    Value = TextBox1
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N5"). _
    Value = TextBox2
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N6"). _
    Value = TextBox3
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N7"). _
    Value = TextBox4
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N8"). _
    Value = TextBox5
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N9"). _
    Value = TextBox6
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N10"). _
    Value = TextBox7
    Workbooks("Beispielablauf_Fassungswechsel.xlsm").Worksheets("EINGABE").Range("N11"). _
    Value = TextBox8
    End
    Else
    Dim i As Byte, strCheck As String
    For i = 1 To 8
    If Controls("TextBox" & i)  Worksheets("EINGABE").Range("L4") Then _
    strCheck = strCheck & Chr(10) & "Druckplatte: " & i
    Next i
    If strCheck = "" Then
    ' Übertrag
    Else
    MsgBox "Folgende Druckplatten sind falsch:" & strCheck
    End If
    Unload Me
    End If
    End Sub
    

  • Das ganze klappt auch einwandfrei! Danke dafür!
    Jetzt kommt noch eine Sache... und zwar setzt sich der Bezug der Kontrolle aus 4 Zellen zusammen (=VERKETTEN(A1;B1;C1;D1) dabei hat
    A1: 6-Ziffern B1:2-Ziffern C1:2-Ziffern D1:2-Ziffern (also AAAAABBCCDD) so sieht die Zahl dann aus z.B. ist es mögich zu schauen welcher Teil der Zahl bei der zu überprüfenden nicht stimmt?
    Ich habe mir das ganze über
    =TEIL(EINGABE!N4;1;6)=TEIL(EINGABE!N4;7;2)=TEIL(EINGABE!N4;9;2)=TEIL(EINGABE!N4;11;2) gebastelt in Excel und die Zeile dann jeweis mit dem Soll verglichen und so konnte ich sehen welcher Teil falsch ist.
    Kann man das über VBA regeln? Das das in der MsgBox steht?
    Anzeige
    AW: Textbox Inhalt vergleichen mit Wert aus Zelle und.
    25.04.2017 14:26:04
    Carsten
    Ok habe jetzt einfach in der MsgBox ausgabe die Ergebnisse meiner Excel Auswertung angegeben jetzt gibt er mir die Fehlerhaften Teilergebnisse an :)

    364 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige