Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1376to1380
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

Fehler1004 im Code

Fehler1004 im Code
04.09.2014 07:30:40
Alexa
Guten morgen,
ich habe in folgendem Programm einen Laufzeitfehler 1004: Anwendungs- oder objektdefinierter Fehler...
kann mir jemand sagen warum?
Vielen Dank
Lg Alexa
Private Sub CommandButton1_Click()
Dim letzte_volle_zeile As Integer
Dim gesuchte_zeile As Integer
Dim i As Integer
letzte_volle_zeile = Sheets("daten").Range("E65536").End(xlUp).Offset(1, 0).Row - 1
For i = 2 To letzte_volle_zeile
If (Cells(i, 5) = TextBox9.Text) Then
gesuchte_zeile = i
End If
Next
If (gesuchte_zeile = 0) Then
MsgBox "Fehler!"
End If
Sheets("Daten").Cells(gesuchte_zeile, 5) = TextBox9.Text
Sheets("Daten").Cells(gesuchte_zeile, 62) = TextBox10.Text
Sheets("Daten").Cells(gesuchte_zeile, 65) = TextBox11.Text
Sheets("Daten").Cells(gesuchte_zeile, 66) = TextBox12.Text
Sheets("Daten").Cells(gesuchte_zeile, 77) = TextBox13.Text
Sheets("Daten").Cells(gesuchte_zeile, 63) = ComboBox1.Text
Sheets("Daten").Cells(gesuchte_zeile, 64) = ComboBox2.Text
Sheets("Daten").Cells(gesuchte_zeile, 68) = ComboBox4.Text
Unload Me
End Sub

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

Betreff
Datum
Anwender
Anzeige
kommt nach der Msgbox?
04.09.2014 07:43:27
Matthias
Hallo
Setz mal nach
MsgBox "Fehler!"
ein
Exit Sub
Anscheinend hat ja die Varialble den Wert 0 und eine Zeile 0 gibts ja nicht
Gruß Matthias

AW: Fehler1004 im Code
04.09.2014 07:46:40
Hajo_Zi
Hallo Alexa,
warum zu einem Problem mehrere Beitrage.
Schreibe das End If vor Unload Me

AW: Fehler1004 im Code
04.09.2014 08:01:20
Alexa
Danke ihr beiden, das Exit sub hat funktioniert;-)
@ Hajo:Ich schreibe mehrere Threads, weil mir hier gesagt wurde, dass ich des machen soll, weil die Unterhaltungen sonst zu lang werden...
Grüße
Alexa

AW: Fehler1004 im Code
04.09.2014 08:05:57
Hajo_Zi
Hallo Alexa,
Du hast Dabei beachtet das Unload Me nicht mehr ausgeführt wird. Exit Sub ist meiner Meinung nach keine gute Lösung. Radikale Beendung des Makros.
Gruß Hajo

Anzeige
AW: Fehler1004 im Code
04.09.2014 08:04:38
Luschi
Hallo Alexa,
da Du uns nicht sagst, in welcher Zeile es knirscht, rate ich mal.
Die Variablen 'i' & 'letzte_volle_zeile' ist vom Typ 'Integer' und kann somit als größten Wert '32.767' annehmen.
Liegt der letzte Wert in Spalte 'E' darüber, knallt es schon hier und stürzt ab wie die erste Ariadne-V-Rakete.
siehe: https://www.youtube.com/watch?v=kYUrqdUyEpI
Auch hier war Überschreiten der Variablen-Obergrenze die Ursache!
Mach mal ein kleines Testbeispiel für uns und wir können besser diagnostizieren und verbessern auch die For-Schleife duch die Find/FindNext-Befehle in einer Do-Loop-Schleife.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Fehler1004 im Code
04.09.2014 14:50:22
Alexa
Ich habs hinbekommen...fragt mich nicht wie, aber es funktioniert..
Vielen vielen Dank

AW: Fehler1004 im Code
05.09.2014 08:05:44
Alexa
Hey;-)
Gestern hat der Code doch funktioniert und heute wieder nicht...was ist da los?
Bitte helft mir!!!
Private Sub CommandButton1_Click()
Dim letzte_volle_zeile As Integer
Dim gesuchte_zeile As Integer
Dim i As Integer
letzte_volle_zeile = Sheets("daten").Range("E65536").End(xlUp).Offset(1, 0).Row - 1
For i = 2 To letzte_volle_zeile
If (Cells(i, 5) = TextBox9.Text) Then
gesuchte_zeile = i
End If
Next
If (gesuchte_zeile = 0) Then
MsgBox "Bitte gib eine schon vorhandene Versuchsnummer an!"
End If
Sheets("Daten").Cells(gesuchte_zeile, 5) = TextBox9.Text
Sheets("Daten").Cells(gesuchte_zeile, 65) = TextBox11.Text
Sheets("Daten").Cells(gesuchte_zeile, 66) = TextBox12.Text
Sheets("Daten").Cells(gesuchte_zeile, 77) = TextBox13.Text
Sheets("Daten").Cells(gesuchte_zeile, 85) = TextBox14.Text
Sheets("Daten").Cells(gesuchte_zeile, 87) = TextBox15.Text
Sheets("Daten").Cells(gesuchte_zeile, 89) = TextBox16.Text
Sheets("Daten").Cells(gesuchte_zeile, 91) = TextBox17.Text
Sheets("Daten").Cells(gesuchte_zeile, 63) = ComboBox1.Text
Sheets("Daten").Cells(gesuchte_zeile, 64) = ComboBox2.Text
Sheets("Daten").Cells(gesuchte_zeile, 68) = ComboBox4.Text
Unload Me
End Sub

Der Code springt immer in die Fehlermeldung...auch wenn der Name in Spalte E vorhanden ist...
Bitte helft!
Danke schonmal

Anzeige
AW: Fehler1004 im Code
06.09.2014 07:19:01
Luschi
Hallo Alexa,
schon Deine letzte Erfolgsmeldung:

Ich habs hinbekommen...fragt mich nicht wie, aber es funktioniert..>
klang nicht sehr vertrauenserweckend. Aber wie sollen wir helfen, wenn Du nicht sagst, was denn eigentlich passiert oder eben nicht passiert - kommt gar 'ne Fehlermeldung.
Auf meine letzte Antwort dazu hast Du ja nicht reagiert. Aber eines ist ersichtlich:

If (gesuchte_zeile = 0) Then
MsgBox "Fehler!"
Else
Sheets("Daten").Cells(gesuchte_zeile, 5) = TextBox9.Text
'usw.
End If
Unload Me
Nochnals mein Rat - mit einem kleinen Testbeispiel wäre das Problem schon längst vom Tisch.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Fehler1004 im Code
08.09.2014 09:20:47
Alexa
Hey;-)
Sorry, dass ich erst jetzt antworte...
ich hab den Fehler gefunden. Ich hab die Buttons für die Eingabemasken auf den 1.Reiter geschoben...und hab bei der Abfrage
If (Cells(i, 5) = TextBox9.Text) Then
nicht geschrieben, dass er im 2. Reiter schauen soll...
If (Sheets("Daten").Cells(i, 5) = TextBox9.Text) Then
So funktionierts jetzt...
Vielen Dank für eure Hilfe;-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige