Anzeige
Archiv - Navigation
572to576
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
572to576
572to576
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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...)
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!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige