Office: Leere Eingabe verhindern

Helfe beim Thema Leere Eingabe verhindern in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, habe da noch ein kleines Problem, ich würde gerne in meiner UserForm, die viele TextBoxen hat eine Abfrage einbauen, die verhindert das die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Stefan85, 7. Februar 2011.

  1. Leere Eingabe verhindern


    Hallo,

    habe da noch ein kleines Problem,

    ich würde gerne in meiner UserForm, die viele TextBoxen hat eine Abfrage einbauen, die verhindert das die TexBoxen leer bleiben.

    Am liebsten wäre mir das, wenn das abgefragt wird, wenn ich auf den Button klicke der die Eingabe dann in die Tabelle übernimmt.

    Super wäre, wenn dann eine eine Meldung kommt, die mir sagt, dass Eingaben fehlen und dann ja änder oder nicht ändern ausgewählt werden kann.

    Hoffe dazu hat auch jemand eine Lösung *Smilie

    Danke schon mal

    Grüße
    Stefan

    :)
     
    Stefan85, 7. Februar 2011
    #1
  2. Hallo Stefan
    versuchs mal so.
    Code:
    gruss hary
     
  3. Hallo Hary

    danke schon mal für deine Antwort.

    Wie soll ich denn das einfügen? Soll ich dann mein ganzen Code da rein schreiben, von der ganzen UserForm?

    Hier mal mein ganzer Code:


    Private Sub CommandButton2_Click()
    Unload Me
    End Sub
    Private Sub CommandButton1_Click()

    Dim letzte As Long
    Cells.Borders.LineStyle = xlNone
    letzte = Cells(Rows.Count, 2).End(xlUp).Row + 1
    Cells(letzte, 2) = Me.TextBox10
    Cells(letzte, 4) = Me.TextBox3
    Cells(letzte, 5) = Me.TextBox4
    Cells(letzte, 6) = Me.TextBox5
    Cells(letzte, 7) = Me.TextBox11
    Cells(letzte, 8) = Me.TextBox6


    With Cells(letzte, 9)

    .Value = Replace(Me.TextBox7, Chr(13), Chr(10))
    .Value = Replace(.Value, Chr(10) & Chr(10), Chr(10))

    End With

    Cells(letzte, 3) = Me.ComboBox1
    Cells(letzte, 10) = Me.TextBox9
    Cells(letzte, 11) = Me.TextBox12

    Me.TextBox3 = ""
    Me.TextBox4 = ""
    Me.TextBox5 = ""
    Me.TextBox6 = ""
    Me.TextBox7 = ""
    Me.ComboBox1 = ""
    Me.TextBox9 = ""
    Me.TextBox10 = ""
    Me.TextBox11 = ""
    Me.TextBox12 = ""


    TextBox10 = Left(Cells(letzte, 2), 6) & VBA.Format(VBA.Right(Cells(letzte, 2), 3) + 1, "00")
    Range(Range("B6:L6"), Cells(Rows.Count, 2).End(xlUp)).Borders.LineStyle = xlContinuous
    Range("B6:L6").BorderAround Weight:=xlThick
    Range(Range("B6:L6"), Cells(Rows.Count, 2).End(xlUp)).BorderAround Weight:=xlThick

    End Sub


    Private Sub ComboBox2_Change()
    Me.TextBox10 = findmax(Me.ComboBox2.Value)
    End Sub

    Private Function findmax(lngJahr) As String
    Dim lngmax As Long, i As Long
    Dim fAuditNummern As Variant
    Dim fEinzelnummer As Variant
    Dim blnErsterEintrag As Boolean
    With Sheets("Plan")
    If .Cells(.Rows.Count, "B").End(xlUp).Row < 7 Then
    blnErsterEintrag = True
    Else
    fAuditNummern = .Range(.[B7], .Cells(.Rows.Count, "B").End(xlUp))
    If IsArray(fAuditNummern) Then
    For i = LBound(fAuditNummern, 1) To UBound(fAuditNummern, 1)
    fEinzelnummer = Split(fAuditNummern(i, 1), ".")
    If CLng(fEinzelnummer(0)) = lngJahr Then
    If CLng(fEinzelnummer(1)) > lngmax Then lngmax = CLng(fEinzelnummer(1))
    End If
    Next i
    Else
    fEinzelnummer = Split(fAuditNummern, ".")
    If CLng(fEinzelnummer(0)) = lngJahr Then
    If CLng(fEinzelnummer(1)) > lngmax Then lngmax = CLng(fEinzelnummer(1))
    End If
    End If
    End If
    End With


    If lngmax > 0 Then
    findmax = Format(lngJahr, "0000") & "." & Format(lngmax + 1, "000")
    Else
    findmax = Format(lngJahr, "0000") & ".001"
    End If
    End Function

    Private Sub CommandButton3_Click()
    MsgBox "hier kommt die Info rein"
    End Sub

    Private Sub UserForm_Activate()
    Dim letzte As Long
    letzte = Cells(Rows.Count, 2).End(xlUp).Row + 1
    Me.TextBox10 = "Jahr wählen"
    Me.ComboBox1.List = Array("1st", "2nd", "3rd")
    Me.ComboBox1.ListIndex = 0
    Me.ComboBox2.List = Array(Year(Date), Year(Date) + 1)
    End Sub


    Gruß Stefan
     
    Stefan85, 8. Februar 2011
    #3
  4. Leere Eingabe verhindern

    Hallo Stefan
    sollte so klappen. Nicht getestet da ich das nicht nachbaue.
    Code:
    gruss hary
     
  5. Danke dir für deine Mühe, echt super!

    Beim Testen zeigt er mir einen Fehler an. Kann das sein, dass das an den DropDown Feldern liegt??

    Ich habe mal die Datei angehängt mit der Änderung.

    Gruß Stefan
     
    Stefan85, 8. Februar 2011
    #5
  6. Hallo Stefan
    Hast Du diesen Teil beachtet?
    Code:
    und gibt es diese Textboxen?
    gruss hary
    hab hier nur Excel97
     
  7. ja es gibt eine ComboBox1 und 2,
    Textbox 2-7 und 9-12

    Wenn ich debugge dann geht er in diese Zeile:

    With UserForm1("TextBox" & a) 'FormName anpassen

    Gruß
     
    Stefan85, 9. Februar 2011
    #7
  8. Leere Eingabe verhindern

    Hallo
    ersetz mal Userform1 durch Me
    gruss hary
     
  9. Hallo Stefan,

    wenn die Anzahl der Textboxen variiert und die Namen nicht strukturiert sind, kannst Du auch wie folgt prüfen:
    Code:
    Die Farbzuweisung ist optional, kannst Du natürlich auch rausnehmen.

    Ach: Und sei bitte so gut und nutze die Codetags. Im Text versteckter Code liest sich schlecht.

    Grüße
    EarlFred
     
    EarlFred, 9. Februar 2011
    #9
  10. Morgen zusammen,

    sorry das ich erst jetzt wieder schreibe, war etwas stressig...

    Danke euch nochmal für die Antworten. Das funktioniert wirklich gut, nur habe ich jetzt das Problem, dass mein Rahmen nicht mehr erzeugt wird! D.h. es wird nur ein dicker Rahmen um die letzte Eingabe gelegt und nicht mehr wie davor um die gesamten Eingaben und innen ein dünner...

    Kann mir da bitte jemand weiter helfen?

    Grüße
    Stefan

    Private Sub CommandButton2_Click()
    Unload Me
    End Sub
    Private Sub CommandButton1_Click()
    Dim letzte As Long
    '-----Pruefung------------
    If Pruefung Then
    MsgBox "Angaben sind noch nicht vollständig!", vbInformation
    Exit Sub
    Else
    '-------------------------
    Cells.Borders.LineStyle = xlNone
    letzte = Cells(Rows.Count, 2).End(xlUp).Row + 1
    Cells(letzte, 2) = Me.TextBox10
    Cells(letzte, 4) = Me.TextBox3
    Cells(letzte, 5) = Me.TextBox4
    Cells(letzte, 6) = Me.TextBox5
    Cells(letzte, 7) = Me.TextBox11
    Cells(letzte, 8) = Me.TextBox6


    With Cells(letzte, 9)

    .Value = Replace(Me.TextBox7, Chr(13), Chr(10))
    .Value = Replace(.Value, Chr(10) & Chr(10), Chr(10))

    End With

    Cells(letzte, 3) = Me.ComboBox1
    Cells(letzte, 10) = Me.TextBox9
    Cells(letzte, 11) = Me.TextBox12

    Me.TextBox3 = ""
    Me.TextBox4 = ""
    Me.TextBox5 = ""
    Me.TextBox6 = ""
    Me.TextBox7 = ""
    Me.ComboBox1 = ""
    Me.TextBox9 = ""
    Me.TextBox10 = ""
    Me.TextBox11 = ""
    Me.TextBox12 = ""


    TextBox10 = Left(Cells(letzte, 2), 6) & VBA.Format(VBA.Right(Cells(letzte, 2), 3) + 1, "00")
    Range(Range("B6:L6"), Cells(Rows.Count, 2).End(xlUp)).Borders.LineStyle = xlContinuous
    Range("B6:L6").BorderAround Weight:=xlThick
    Range(Range("B6:L6"), Cells(Rows.Count, 2).End(xlUp)).BorderAround Weight:=xlThick
    End If
    End Sub


    Private Sub ComboBox2_Change()
    Me.TextBox10 = findmax(Me.ComboBox2.Value)
    End Sub

    Private Function findmax(lngJahr) As String
    Dim lngmax As Long, i As Long
    Dim fAuditNummern As Variant
    Dim fEinzelnummer As Variant
    Dim blnErsterEintrag As Boolean
    With Sheets("Plan")
    If .Cells(.Rows.Count, "B").End(xlUp).Row < 7 Then
    blnErsterEintrag = True
    Else
    fAuditNummern = .Range(.[B7], .Cells(.Rows.Count, "B").End(xlUp))
    If IsArray(fAuditNummern) Then
    For i = LBound(fAuditNummern, 1) To UBound(fAuditNummern, 1)
    fEinzelnummer = Split(fAuditNummern(i, 1), ".")
    If CLng(fEinzelnummer(0)) = lngJahr Then
    If CLng(fEinzelnummer(1)) > lngmax Then lngmax = CLng(fEinzelnummer(1))
    End If
    Next i
    Else
    fEinzelnummer = Split(fAuditNummern, ".")
    If CLng(fEinzelnummer(0)) = lngJahr Then
    If CLng(fEinzelnummer(1)) > lngmax Then lngmax = CLng(fEinzelnummer(1))
    End If
    End If
    End If
    End With


    If lngmax > 0 Then
    findmax = Format(lngJahr, "0000") & "." & Format(lngmax + 1, "000")
    Else
    findmax = Format(lngJahr, "0000") & ".001"
    End If
    End Function

    Private Sub CommandButton3_Click()
    MsgBox "hier kommt die Info rein"
    End Sub

    Private Sub UserForm_Activate()
    Dim letzte As Long
    letzte = Cells(Rows.Count, 2).End(xlUp).Row + 1
    Me.TextBox10 = "Jahr wählen"
    Me.ComboBox1.List = Array("1st", "2nd", "3rd")
    Me.ComboBox1.ListIndex = 0
    Me.ComboBox2.List = Array(Year(Date), Year(Date) + 1)
    End Sub
    Function Pruefung() As Boolean
    Dim ctr As Control
    For Each ctr In Me.Controls
    If TypeName(ctr) = "TextBox" Then
    If Trim(ctr.Text) = Empty Then
    ctr.BackColor = RGB(255, 0, 0)
    Pruefung = True
    Else
    ctr.BackColor = -2147483643
    End If
    End If
    Next
    End Function
     
    Stefan85, 13. Februar 2011
    #10
  11. Weiß nicht warum, aber ich habe es hin bekommen *Smilie

    Habe einfach den Teil nochmal sauber hingeschrieben.

    Danke trotzedem

    Grüße
     
    Stefan85, 13. Februar 2011
    #11
Thema:

Leere Eingabe verhindern

Die Seite wird geladen...
  1. Leere Eingabe verhindern - Similar Threads - Leere Eingabe verhindern

  2. leere Zelle in Zeile finden

    in Microsoft Excel Hilfe
    leere Zelle in Zeile finden: Hallo Liebe Excel Profis, ich bin noch recht unbedarft was VBA angeht. Man kopiert und liest und bastelt und versucht alles zu verstehen. Aber irgendwann kommt man nicht weiter. Ich habe eine...
  3. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  4. Unterbericht erzeugt leere Seite

    in Microsoft Access Hilfe
    Unterbericht erzeugt leere Seite: Hallo zusammen, ich habe eine HauptBericht mit drei Unterberichten. Der Hauptbericht enthält den eindeutigen schlüssel mit Adressdaten im Gruppenkopf über den die Ureports verknüpft sein. Nicht...
  5. VBA Variableninhalt nach import aus zwei verschiedenen Dateien verschieden >Leer< und >""<

    in Microsoft Excel Hilfe
    VBA Variableninhalt nach import aus zwei verschiedenen Dateien verschieden >Leer< und >""<: Halle Excel Freaks, nach dem Import in eine Exelmappe aus einer anderen Mappe greife ich auf eine Zelle zu. In beiden Mappen steht in der Zelle nichts Beim Debuggen ist mir aufgefallen:...
  6. Zelle leer anzeigen, wenn Wert in der zelle nach dem Komma nicht 0 ist

    in Microsoft Excel Hilfe
    Zelle leer anzeigen, wenn Wert in der zelle nach dem Komma nicht 0 ist: Hallo zusammen, ich habe da mal wieder ne spezielle Frage. Ich habe eine Arbeitsmappe, in der ein Tabellenblatt die Information beinhaltet, wie gross eine VE ist. In dem anderen Tabellenblatt...
  7. VBA - letzte nicht-leere Spalte

    in Microsoft Excel Hilfe
    VBA - letzte nicht-leere Spalte: Moin, liebe VBA-Spezis, mit Cells(99, Columns.Count).End(xlToLeft).Column bestimme ich die Spaltenzahl der letzten benutzten Zelle in Zeile 99. Soweit, so klar. Nun habe ich aber Formeln in...
  8. Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle

    in Microsoft Excel Hilfe
    Zellbereiche leeren bei Eingabe eines Wertes in eine Zelle: Hallo, ich habe eine Exceldatei mit mehreren Tabellenblätern, die alle gleich aufgebaut sind. Nun möchte ich wiederum in einem anderen Tabellenblatt, wenn ich dort einen Wert eingebe, damit...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden