Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe bei Code Korrektur

Hilfe bei Code Korrektur
17.01.2008 08:09:00
Fred
Hallo alle zusammen
Über den unten stehenden Code wird eine InputBox aufgerufen und bestimmte Zeilen sind löschbar.
Wenn ich jetzt aber hergehe und gebe eine 2 z.B. ein und gehe dann auf Abbrechen ,dann wird diese trotzdem gelöscht, obwohl Sie eigendlich nicht gelöscht werden darf. Was ist Falsch an dem Code
Dim vntReturn As Variant
Do
vntReturn = InputBox("Zu löschende Zeilen Nummer eingeben" & _
" Zeile 1 BIS 3 sind nicht löschbar!!")
If StrPtr(vntReturn) = 0 Then Exit Sub 'Abbrechen gedrückt
If IsNumeric(vntReturn) Then
vntReturn = CDec(vntReturn)
Range(Cells(vntReturn, 1), Cells(vntReturn, 13)).Delete Shift:=xlUp
If Fix(vntReturn) = vntReturn Then
If vntReturn Worksheets("Störbericht").Rows.Count Then
MsgBox "Nur Zahlen von 4 bis " & CStr(Worksheets("Störbericht").Rows.Count) & _
" erlaubt.", vbExclamation, "Hinweis"
Else
Exit Do
End If
Else
MsgBox "Nur ganze Zahlen erlaubt", vbExclamation, "Hinweis"
End If
Else
MsgBox "Nur Zahlen erlaubt.", vbExclamation, "Hinweis"
End If
Loop
MsgBox "LÖSCHEN"
Grüße Fred

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Code Korrektur
17.01.2008 08:44:00
Peter
Hallo Fred,
ich habe deinen Code bei mir laufen gelassen und konnte keine Probleme feststellen.
Auf Abbrechen reagiert das Makro einwandfrei.
Gruß Peter

AW: Hilfe bei Code Korrektur
17.01.2008 08:52:00
Fred
Hallo Peter
Hast Du auch eine Zahl eingegeben z.B eine 2 und dann erst abbrechen. Bei mir wird dann die 2Te Zeile gelöscht

AW: Hilfe bei Code Korrektur
17.01.2008 12:38:00
Peter
Hallo Fred,
ich habe eine 2 eingegeben und dann Abbrechen angeklickt - und das Makro wurde beendet !!!
Gruß Peter
PS geh das Makro doch einmal mit Debuggen - Einzelschritt - F8 Schritt für Schritt durch und sieh dir an, was z. B. in der Variablen vntReturn nach Klick auf Abbrechen steht (Variable markieren im Debugger Aktuellen Wert anzeigen anklicken).

Anzeige
AW: Hilfe bei Code Korrektur
17.01.2008 21:59:43
Gerd
Guten Abend,
so war das Muster gedacht.

Public Sub tttt()
Dim vntReturn As Variant
Do
vntReturn = InputBox("Zu löschende Zeilen Nummer eingeben AUßER ZEILE" & _
" 1 BIS 3 das ist der Kopf der Tabelle")
If StrPtr(vntReturn) = 0 Then Exit Sub 'Abbrechen gedrückt
If IsNumeric(vntReturn) Then
vntReturn = CDec(vntReturn)
If Fix(vntReturn) = vntReturn Then
If vntReturn  Rows.Count Then
MsgBox "Nur Zahlen von 4 bis " & CStr(Worksheets(1).Rows.Count) & _
" erlaubt.", vbExclamation, "Hinweis"
Else
Exit Do
End If
Else
MsgBox "Nur ganze Zahlen erlaubt", vbExclamation, "Hinweis"
End If
Else
MsgBox "Nur Zahlen erlaubt.", vbExclamation, "Hinweis"
End If
Loop
Rows(vntReturn).EntireRow.Delete
End Sub


Grüße Gerd

Anzeige
AW: Hilfe bei Code Korrektur
18.01.2008 10:08:00
Fred
Hallo Gerd
Vielen Dank für Deine Mühe. Aber wenn ich Deinen Code benutze, dann wird die kommplette Zeile Gelöscht, ich möchte aber nur Z.B. Zeile A1 bis N1 löschen da sonst meine Formeln und festen Formatierungen flöten gehen. wie kann ich Deinen Code ändern das immer nur bis Zelle13 gelöscht wird
Grüße Fred

AW: Hilfe bei Code Korrektur
18.01.2008 10:08:00
Fred
Hallo Gerd
Vielen Dank für Deine Mühe. Aber wenn ich Deinen Code benutze, dann wird die kommplette Zeile Gelöscht, ich möchte aber nur Z.B. Zeile A1 bis N1 löschen da sonst meine Formeln und festen Formatierungen flöten gehen. wie kann ich Deinen Code ändern das immer nur bis Zelle13 gelöscht wird
Grüße Fred

Anzeige
AW: Hilfe bei Code Korrektur
18.01.2008 19:37:00
Gerd
Hallo Fred,
sorry, bis ins Letzte hatte ich deine Fragen nicht angeschaut.
Nimm halt "da"- zum Schluss die "Delete"-Code-Zeile" von Peter Feustel.
Range(Cells(vntReturn, 1), Cells(vntReturn, 13)).Delete Shift:=xlUp
Spalte A= 1, Spalte B= 2 Spalte C= 3 ......... Spalte ? = 13
vntReturn steht für die (Lösch-) Zeile/ Zeilennummer des Bereichs bei ..Cells(Zeile,Spalte) ..
Gruß Gerd

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige