Clever-Excel-Forum

Normale Version: Fehler Überlauf bei der Suche in einer Spalte
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

vielleicht könnte mir jemand helfen?

Ich stoße mal wieder mit meinen VBA Kenntnisen an die Grenzen und finde nichts passendes im Forum :(

ich möchte einen Wert in der 3 Spalte meines Tabellenblattes1 suchen.

Diesen gebe ich im eingabe Fenster ein und drücke Ok.

den ersten Wert findet er und alles ist gut aber sobald ich den wert in zeile 3 oder 4 eingebe gibt er mir folgende Fehlermeldung.

Laufzeitfehler 6: Überlauf

ich finde nur leider meinen fehler nicht könnte mir da jemand helfen ?

Private Sub CommandButton1_Click()
    Dim x As Integer
    Z = Sheets(1).UsedRange.Rows.Count
    x = TextBox1
    temp = 0
    For i = 1 To Z
        If Cells(i, 3) = x Then
            temp = 1
            Exit For
        End If
    Next
    If temp = 1 Then
        Unload Me
        zeile = i
        UserForm2.Show
    Else
        MsgBox "nicht vorhanden!", vbExclamation
        TextBox1 = ""
    End If
End Sub


Danke euch
Code:
If temp = 1 Then
        Unload Me
        zeile = i
        UserForm2.Show
das sehe ich als problematisch.  Codeausführung nachdem die UF entladen wurde????

bei welcher Codezeile kommt der Überlauf?  Haltepunkte setzen. Mit F8 schrittweise durchs Programm.
danke für die Antwort.

wenn ich F8 drücke läuft das Makro durch ohne fehler.

Ich habe jetzt festgestellt das der fehler entsteht weil der Suchwert mehr als 5 Zeichen hat.

Dann wird mir der fehler in der 4 Zeile mit inhalt X = TextBox1 angezeigt.

Private Sub CommandButton1_Click()
    Dim x As Integer
    Z = Sheets(1).UsedRange.Rows.Count
    x = TextBox1
    temp = 0
    For i = 1 To Z
        If Cells(i, 3) = x Then
            temp = 1
            Exit For
        End If
    Next
    If temp = 1 Then
        Unload Me
        zeile = i
        UserForm2.Show
    Else
        MsgBox "nicht vorhanden!", vbExclamation
        TextBox1 = ""
    End If
End Sub


 
Da finde ich tatsächlich keine lösung ist eine Textbox begrenzt ?
ja es gibt Grenzen.  Integer hat eine Begrenzung von -32.768 bis 32.767. Also ab 32.768 gibts Fehler. Nimm einen Datentyp der größere Zahlen aufnehmen kann. Long oder Double.
Mehr als einmahl suchen ist 'filtern'.
Je von Autofilter gehört ?
Hallo nochmal,

ich habe es mit dem Überlauf dank des genialen Tipps hinbekommen. Danke dafür.

Nun stehe ich vor dem nächsten Problem :(

Ich habe die Userform so gebaut das ich mir wenn ich ein namen eingebe er die daten aus der Spalte übernimmt und mir die Userform in den Textboxen vorausfüllt.
Nun möchte ich den Wert ändern und das Eingegebene übernehmen. 
Am Anfang wo ich noch bei 4 TextBoxen waren hat es auch Super geklappt aber nun haut es nicht mehr hin.

Leider bin ich ein ziehmlicher Anfänger und lerne VBA erst richtig kennen und daher sind die Codes nicht so gut wie vielleicht gewohnt.

Ich habe wie gesagt angefangen und als es funktionierte immer was drangehängt allerdings kommt es jetzt zur Fehlermeldung: Laufzeitfehler 1004 Anwendungs- oder objektdefinierter Fehler

Kann mir jemand sagen was ich falsch mache ?

Private Sub CommandButton4_Click()
    If ComboBox1 = "" And ComboBox2 = "" And ComboBox3 = "" And ComboBox4 = "" And ComboBox5 = "" And ComboBox6 = "" And ComboBox7 = "" And TextBox1 = "" And TextBox2 = "" And TextBox3 = "" And TextBox4 = "" And TextBox5 = "" And TextBox6 = "" And TextBox7 = "" And TextBox8 = "" And TextBox9 = "" And TextBox10 = "" And TextBox11 = "" And TextBox12 = "" And TextBox13 = "" And TextBox14 = "" And ComboBox15 = "" And ComboBox16 = "" And ComboBox17 = "" And ComboBox18 = "" And ComboBox19 = "" And ComboBox20 = "" And ComboBox21 = "" And ComboBox22 = "" And ComboBox23 = "" And ComboBox24 = "" And ComboBox25 = "" And ComboBox26 = "" And ComboBox27 = "" And ComboBox28 = "" And ComboBox29 = "" And ComboBox30 = "" Then
        Sheets(1).Rows(zeile).Delete
    End If
    Cells(zelle, 4) = ComboBox1.Value  Ab hier beginnt der fehler
    Cells(zelle, 5) = ComboBox2.Value
    Cells(zelle, 6) = ComboBox3.Value
    Cells(zelle, 7) = ComboBox4.Value
    Cells(zelle, 8) = ComboBox5.Value
    Cells(zelle, 33) = ComboBox6.Value
    Cells(zelle, 32) = ComboBox7.Value
    Cells(zelle, 3) = TextBox1.Value
    Cells(zelle, 2) = TextBox2.Value
    Cells(zelle, 9) = TextBox3.Value
    Cells(zelle, 27) = TextBox4.Value
    Cells(zelle, 10) = TextBox5.Value
    Cells(zelle, 19) = TextBox6.Value
    Cells(zelle, 15) = TextBox7.Value
    Cells(zelle, 13) = TextBox8.Value
    Cells(zelle, 20) = TextBox9.Value
    Cells(zelle, 25) = TextBox10.Value
    Cells(zelle, 11) = TextBox11.Value
    Cells(zelle, 24) = TextBox12.Value
    Cells(zelle, 22) = TextBox13.Value
    Cells(zelle, 36) = TextBox14.Value
    Cells(zelle, 56) = TextBox15.Value
    Cells(zelle, 16) = TextBox16.Value
    Cells(zelle, 18) = TextBox17.Value
    Cells(zelle, 17) = TextBox18.Value
    Cells(zelle, 23) = TextBox19.Value
    Cells(zelle, 21) = TextBox20.Value
    Cells(zelle, 14) = TextBox21.Value
    Cells(zelle, 12) = TextBox22.Value
    Cells(zelle, 35) = TextBox23.Value
    Cells(zelle, 53) = TextBox24.Value
    Cells(zelle, 28) = TextBox25.Value
    Cells(zelle, 26) = TextBox26.Value
    Cells(zelle, 29) = TextBox27.Value
    Cells(zelle, 30) = TextBox28.Value
    Cells(zelle, 34) = TextBox29.Value
    Cells(zelle, 31) = TextBox30.Value
    Unload Me
           
End Sub
Es gibt in diesem Thread kein Userform.
soll das vielleicht unten auch zeile heissen und nicht zelle  


 Sheets(1).Rows(zeile).Delete
    End If
    Cells(zelle, 4) = ComboBox1.Value  Ab 
Nur ergänzend:
Damit sowas zukünftig nicht mehr passiert, sollte folgendes zur Pflichtlektüre für alle VBA-Anfänger gehören:
Option Explicit, Intellisense und Techniken des Schreibens

Gruß Ralf
Hallo,

lade doch deine Datei mal hoch, dann könnte man gezielter helfen.