Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufzeitfehler 1004... mal wieder...

Laufzeitfehler 1004... mal wieder...
22.02.2005 11:42:32
Udo
Hallo, habe folgenden code, um in einer tabelle zeilen einzufügen, bzw. zu löschen:

Private Sub C_Save_Click()
Sheets("A-Z").Select
If MeinFormular.Caption = "Neuer Datensatz" Or MeinFormular.Caption = "Datensatz kopieren" Then
MeinFormular.Caption = "***"
Range("A" + Format(L_Nummer.Caption - 1, "####")).Select 'erzeugt keinen Fehler
Selection.EntireRow.Insert
End If
'[...] Einfügen des Datensatzes usw.
Sheets("Anzeige").Select
MeinFormular.Hide
End Sub


Private Sub C_Loeschen_Click()
If MsgBox("Achtung! Sie sind dabei, einen" + vbCrLf + "Datensatz zu löschen. Dies" + vbCrLf + "kann nicht zurückgenommen werden!", vbOKCancel) = vbOK Then
Sheets("A-Z").Select
Range("A" + Format(S_DS.Value + 1, "####")).Select 'erzeugt Fehler
Selection.EntireRow.Delete
S_DS.Max = S_DS.Max - 1
Sheets("Anzeige").Select
End If
End Sub

Das eigentliche Phänomen ist, dass die Save-Routine beim Range-Select keinen Fehler auslöst (wird aus einem Userform aufgerufen), die löschroutine aber wohl (wird über einen Button auf einem anderen Sheet aufgerufen - ja, ich habe TakeFocusOnClick für diesen Button auf "false" gesetzt!)
Wo liegt mein Denkfehler? Der entscheidende Code ist doch gleich!?! Das entsprechende Sheet ist auch aktiv/selektiert...
Gruß und Danke für Vorschläge
Udo
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004... mal wieder...
bst
Mahlzeit Udo,
laß es einfach laufen.
Wenn der Fehler ansteht öffne das VBA-Direktfenster und mach sowas:
?S_DS.Value
?Format(S_DS.Value + 1, "####")
?Range("A" + Format(S_DS.Value + 1, "####").Address
was siehst Du da ?
cu, Bernd
AW: Laufzeitfehler 1004... mal wieder...
22.02.2005 12:11:54
Udo
?S_DS.Value -&gt 1
?Format(S_DS.Value + 1, "####") -&gt 2
?Range("A" + Format(S_DS.Value + 1, "####")).Address -&gt $A$2
(ich hatte die formel auch schon außerhalb der range-funktion, an der stelle stimmt's also...)
Anzeige
AW: Laufzeitfehler 1004... mal wieder...
bst
Hmm,
&gt die löschroutine aber wohl (wird über einen Button auf einem anderen Sheet aufgerufen
falls Dein Code hinter Tabelle1 stehen sollte, schreibt dieses:
Sheets("Tabelle2").Select
Range("A2").Value = "Hallo"
IMMER noch nach Tabelle1, nicht nach Tabelle2 !
Versuch mal sowas, alles in eine Zeile:
Sheets("A-Z").Range("A" + Format(S_DS.Value + 1, "####")).EntireRow.Delete
HTH, Bernd
Anzeige
AW: Laufzeitfehler 1004... mal wieder...
22.02.2005 12:43:16
Udo
So ein Käse... hätte mir auch selbst auffallen können... :-)
klar, der code klebt an einem anderen blatt dran...
Guten Morgen, Udo!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige