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

Abbrechen Button bringt Fehlermeldung

Abbrechen Button bringt Fehlermeldung
21.04.2005 13:57:58
Ralf
Woran könnte das liegen, dass ich ne Fehlermeldung bekomme,wenn ich den Abbrechen Button anklicke?

Sub LoeschenClick()
Dim intZeile As Integer
intZeile = InputBox("Welche Zeile soll gelöscht werden?")
intZeile = intZeile + 4 'Deine 1. Zeile beginnt ja in Zeile 5 von Excel
Range("C" & intZeile & ":O" & intZeile).Select
Selection.Delete Shift:=xlUp
End Sub

Gruß Ralf

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

Betreff
Datum
Anwender
Anzeige
AW: Abbrechen Button bringt Fehlermeldung
21.04.2005 15:09:56
WernerB.
Hallo Ralf,
auch wenn Du den InputBox-Rückgabewert als Integer dimensionierst, so erfolgt er doch immer als String.
Die Reaktion auf das Drücken des Abbruch-Schalters muss programmiert werden; der Abbruch erfolgt nicht selbsttätig. Wird der Abbruch-Schalter gedrückt oder eine Leereingabe getätigt, so wird "" (=Leerstring) zurückgegeben. Deine Variable intZeile kann aber mit "" nichts anfangen (0 und "" sind zwei verschiedene Werte!); deshalb läuft Dein Makro auf einen Fehler.
Wie gefällt Dir das?

Sub LoeschenClick()
Dim strZeile As String, _
intZeile As Integer
strZeile = InputBox("Welche Zeile soll gelöscht werden?")
If strZeile = "" Then
MsgBox "Keine Eingabe !" & vbCr & vbCr & "Makro-Abbruch !", _
16, "Dezenter Hinweis für " & Application.UserName & ":"
Exit Sub
End If
intZeile = CInt(strZeile) + 4 'Deine 1. Zeile beginnt ja in Zeile 5 von Excel
Range("C" & intZeile & ":O" & intZeile).Delete Shift:=xlUp
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Abbrechen Button bringt Fehlermeldung
21.04.2005 15:26:36
Ralf
Hallo Werner, danke mal, mußte das Programm noch ein bischen ändern, ich hoffe das es so auch läuft. Meinst du es läuft so ohne Probleme.

Sub löschen_klick()
Dim strZeile As String, _
intZeile As Integer
strZeile = InputBox("Welche Zeile soll gelöscht werden?")
If strZeile = "" Then
Exit Sub
End If
intZeile = CInt(strZeile) + 3 'Deine 1. Zeile beginnt ja in Zeile 5 von Excel
Range("C" & intZeile & ":N" & intZeile).Select
Selection.Delete Shift:=xlUp
End Sub


AW: Abbrechen Button bringt Fehlermeldung
22.04.2005 07:48:22
WernerB.
Hallo Ralf,
fehlerfreie Makros gibt es nicht.
Und ob Dein Makro immer fehlerfrei läuft, kann ich auch nicht beurteilen, zumal ich ja Deine Ansprüche an das Makro und die Randbedingungen in der/den Datei/en, in denen es eingesetzt werden soll, nicht kenne.
Natürlich sollte es das Anliegen jedes Programmierers sein, mit seinen Makros möglichst keine Fehler zu erzeugen. Dazu hat dann jeder seine eigene Philosophie, die in den Augen eines anderen eben auch über- oder untertrieben erscheinen mag; die Grenzen sind hier fließend.
Dazu ein Beispiel: In der Regel verwende ich für Zeilennummern nur Long-Variablen, weil Integer-Variablen ja nur bis +32.767 reichen, Excel aber über 65.536 Zeilen verfügt.; d.h., bei einer Zeilennummer von z.B. 50.000 und der Verwendung einer Integer-Variablen wird Dein Makro auf einen Fehler laufen. Solange Du Dich in den Grenzen der Integer-Variablen bewegst, tritt dieser Fehler natürlich nicht auf und das Makro scheint relativ "fehlerfrei" zu sein.
Noch eine (ungefragte) Anmerkung zum Programmierstil: In diesem Forum wird aus guten Gründen vom Forumsbetreiber und den hier antwortenden Experten (um das Wort "Profi" zu vermeiden) die so genannte "Selectfreie Programmierung" propagiert, die auch ich weitgehend pflege.
Um bei Deinem Makro zu bleiben: Das "Select" am Ende ist nicht nötig, die beiden letzten Zeilen können zu einer Zeile zusammengefasst werden.
Wenn Du auch auf die MsgBox bei "Abbruch verzichten willst, könnte das Makro also auch so aussehen (ohne Garantie auf "Felerfreiheit"):

Sub löschen_klick()
Dim strZeile As String, _
lngZeile As Integer
strZeile = InputBox("Welche Zeile soll gelöscht werden?")
If strZeile = "" Then Exit Sub
lngZeile = CLng(strZeile) + 3 'Deine 1. Zeile beginnt ja in Zeile 5 von Excel
Range("C" & lngZeile & ":N" & lngZeile).Delete Shift:=xlUp
End Sub

Ich hoffe, dass ich Dich mit meinen Ausführungen nicht zu sehr genervt habe.
Gruß
WernerB.
Anzeige
AW: Abbrechen Button bringt Fehlermeldung
23.04.2005 14:53:18
Ralf
Hallo Werner, ich danke dir nochmal und nerven tust du mich nicht, bin froh wenn mir mal jemand ein bischen was erklärt.
Gruß Ralf

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige