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

Anzeige des Zellinhaltes in MsgBox

Anzeige des Zellinhaltes in MsgBox
02.09.2018 21:20:39
Uwe
Hallo zusammen,
mal wieder habe ich ein Problemchen.
In einem Userform sollen Daten eingetragen und an die Tabelle übergeben wereden. Im Textfeld "Serial" soll ausser der Prüfung numerisch, 8 Ziffern auch nach bereits vorhandener Serialnummer gesucht werden. Ich habe das soweit hinbekommen, dass ich bei vorhandener SN eine MSG box bekomme. MsgBox Inhalt: This Serial Number already exist in RMA
Nach RMA in der Boxmeldung soll jedoch noch die Nummer der RMA erscheinen, eingetragen in der selben Zeile der gefundenen Serialnummer in Spalte B.
Die MsgBox soll eine Yes/No Abfrage sein. Soll der Datensatz angelegt werden (Yes) soll nichts passieren, nur die MsgBox schliessen, Soll der Datensatz nicht angelegt werden soll das Userform schließen.
Soweit bin ich jedoch ohne Erfolg:
'Prüfung Textfeld Serial Number auf Fehler: Pflichtfeld, nur Zahlen erlaubt, Länge 8 Zeichen, _
Ausnahme: "no SN" ist erlaubt

Private Sub cbo_Serial_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'If Not IsNumeric(cbo_Serial) Or Len(cbo_Serial)  8 Then cbo_Serial.BackColor = RGB(255, 0, 0) _
_
_
_
_
Else cbo_Serial.BackColor = RGB(255, 255, 255)
'If cbo_Serial.Text = "no SN" Then cbo_Serial.BackColor = RGB(255, 255, 255)
'    If cbo_Serial.Text = "" Then
'    MsgBox "Serial Number is required!"
'    cbo_Serial.SetFocus
'    End If
Dim D_Serial
Dim f As Range
D_Serial = cbo_Serial.Text                                                              ' _
definiert das RMA-Textfeld als Prüfwert
Set f = Sheets("B&O Issue Log").Columns(8).Find(What:=D_Serial, LookAt:=xlWhole) 'SVerweis des  _
_
_
_
_
Prüfwertes auf die Tabelle, Spalte Serial
If Not f Is Nothing Then
MsgBox "This Serial Number already exist in RMA." f -2
'Bei vorhandenen Suchergebnis erfolgt eine Fehlermeldung
Me.cbo_Serial = ""
Me.cbo_Serial.BackColor = RGB(255, 0, 0)
cbo_Serial.SetFocus
Else:
If Not IsNumeric(cbo_Serial) Or Len(cbo_Serial)  8 Then cbo_Serial.BackColor = RGB(255, 0, _
_
_
_
_
0) Else cbo_Serial.BackColor = RGB(255, 255, 255)
If cbo_Serial.Text = "" Then
MsgBox "Serial Number is required!"
RMA.SetFocus
End If
End If
End Sub

Vielen Dank für Eure Hilfe
Gruß
Uwe

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzeige des Zellinhaltes in MsgBox
02.09.2018 21:40:43
Sepp
Hallo Uwe,
probier mal.
Private Sub cbo_Serial_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim rng As Range, varRet As Variant

  If cbo_Serial.Text = "no SN" Then
    cbo_Serial.BackColor = RGB(255, 255, 255)
  ElseIf cbo_Serial.Text = "" Then
    cbo_Serial.BackColor = RGB(255, 0, 0)
    MsgBox "Serial Number is required!"
    cbo_Serial.SetFocus
  ElseIf Not IsNumeric(cbo_Serial.Text) Or Len(cbo_Serial.Text) <> 8 Then
    cbo_Serial.BackColor = RGB(255, 0, 0)
    MsgBox "Serial Number is invalid!"
    cbo_Serial.SetFocus
  ElseIf IsNumeric(cbo_Serial.Text) And Len(cbo_Serial.Text) = 8 Then
    varRet = Application.Match(CLng(cbo_Serial.Text), Sheets("B&O Issue Log").Columns(8), 0)
    If IsNumeric(varRet) Then
      MsgBox "This Serial Number already exist in RMA." & vbLf & "RMA:=" & _
        Sheets("B&O Issue Log").Cells(varRet, 2).Text
      'Bei vorhandenen Suchergebnis erfolgt eine Fehlermeldung 
      cbo_Serial = ""
      cbo_Serial.BackColor = RGB(255, 0, 0)
      cbo_Serial.SetFocus
    End If
  End If
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Anzeige des Zellinhaltes in MsgBox
03.09.2018 00:17:46
Uwe
Hallo Sepp,
funktioniert wunderbar, vielen Dank.
Es fehlt jedoch ie Möglichkeit in der MsgBox die Übernahme die doppelte Seriennummer zu bestätigen um die Eingabe fortzuführen oder die Eingabe abzubrechen. Das vbYesNo bereitet mit Probleme.
Danke & Gruß
Uwe
AW: Anzeige des Zellinhaltes in MsgBox
03.09.2018 00:18:52
Uwe
Habe vergessen das Häkchen bei Frage noch offen zu machen :-)
AW: Anzeige des Zellinhaltes in MsgBox
03.09.2018 05:38:45
Sepp
Hallo Uwe,
Private Sub cbo_Serial_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim rng As Range, varRet As Variant

  If cbo_Serial.Text = "no SN" Then
    cbo_Serial.BackColor = RGB(255, 255, 255)
  ElseIf cbo_Serial.Text = "" Then
    cbo_Serial.BackColor = RGB(255, 0, 0)
    MsgBox "Serial Number is required!"
    cbo_Serial.SetFocus
  ElseIf Not IsNumeric(cbo_Serial.Text) Or Len(cbo_Serial.Text) <> 8 Then
    cbo_Serial.BackColor = RGB(255, 0, 0)
    MsgBox "Serial Number is invalid!"
    cbo_Serial.SetFocus
  ElseIf IsNumeric(cbo_Serial.Text) And Len(cbo_Serial.Text) = 8 Then
    varRet = Application.Match(CLng(cbo_Serial.Text), Sheets("B&O Issue Log").Columns(8), 0)
    If IsNumeric(varRet) Then
      If MsgBox("This Serial Number already exist in RMA." & vbLf & "RMA:=" & _
        Sheets("B&O Issue Log").Cells(varRet, 2).Text & vbLf & vbLf & _
        "Continue?", vbQuestion + vbYesNo) = vbNo Then
        'Bei vorhandenen Suchergebnis erfolgt eine Fehlermeldung 
        cbo_Serial = ""
        cbo_Serial.BackColor = RGB(255, 0, 0)
        cbo_Serial.SetFocus
      End If
    End If
  End If
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Anzeige des Zellinhaltes in MsgBox
03.09.2018 19:48:37
Uwe
Hallo Sepp,
vielen Dank für die Erweiterung welche super funktioniert.
VG
Uwe

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige