Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Probleme mit VBA

Forumthread: Probleme mit VBA

Probleme mit VBA
16.11.2004 17:57:08
Stephan
Hallo,
mit untenstehendem VBA-Code lasse ich eine Zeilennummer eingeben, unter der eine neue Zeile eingefügt werden soll.
Dazu 2 Fragen:
1. Wie kann ich verhindern, dass bei "Abbrechen" der Inputbox ein Laufzeitfehler entsteht?
2. Wie kann ich eine Fehlermeldung bei falscher Eingabe (z.B. Eingabe Bin euch wirklich sehr Dankbar für etwaige Hilfestellungen!!
LG, Stephan

Sub Einfügen()
' Zeile_Hinzufügen_Maßnahmenplanung Makro
' Unter der angegebenen Zeilennummer wird eine neue Zeile eingeschoben
Dim zlnr As Integer
zlnr = InputBox("xy", "ab")
If Cells(zlnr, 51).Value = 1 Then
MsgBox "cd"
Exit Sub
End If
Rows(zlnr & ":" & zlnr).Select
Selection.Insert Shift:=xlDown
Range(zlnr + 1 & ":" & zlnr + 1).Select
Selection.AutoFill Destination:=Range(zlnr & ":" & zlnr + 1), Type:=xlFillSeries
Range("a" & zlnr).Select
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
InputBox Eingabe überprüfen
16.11.2004 18:20:19
Josef
Hallo Stefan!
zB. so!

Sub Einfügen()
' Zeile_Hinzufügen_Maßnahmenplanung Makro
' Unter der angegebenen Zeilennummer wird eine neue Zeile eingeschoben
Dim zlnr As Integer
Do
zlnr = Application.InputBox("xy", "ab", Type:=1)  'Type:=1 - Nur Zahlen erlaubt!
If zlnr = False Then Exit 

Sub   'Abbrechen gedrückt!
If zlnr > 19 Then Exit Do       'Zeilennummer kleiner 20 - zurück zur Eingabe!
Loop
If Cells(zlnr, 51).Value = 1 Then
MsgBox "cd"
Exit Sub
End If
Rows(zlnr & ":" & zlnr).Insert Shift:=xlDown
Range(zlnr + 1 & ":" & zlnr + 1).AutoFill _
Destination:=Range(zlnr & ":" & zlnr + 1), Type:=xlFillSeries
Cells(zlnr, 1).Select
End Sub

Gruß Sepp
Anzeige
AW: InputBox Eingabe überprüfen
16.11.2004 18:30:10
Stephan
Hallo Sepp - vielen Dank für die Mühe, funktioniert super.
Allerdings habe ich einen Laufzeitfehler, wenn ich z.B. 1.1 eingebe - weißt du warum?
Liebe Grüße, Stephan
AW: InputBox Eingabe überprüfen
Sven
1.1 ist keine Zahl! Jedenfalls nicht im deutschen Excel.
mfg Sven
AW: InputBox Eingabe überprüfen
16.11.2004 18:52:36
Josef
Hallo Stephan!
Deine Variable ist als Integer deklariert, die eingabe von "1.1"
wird von VBA als Datum interpretiert (1.1.04) und dieses Datum
hat als Zahl den Wert 37987 und liegt damit ausserhalb des Bereiches von Integer-Variablen!
Du kannst die Variable als Long deklarieren, dann würde in unserem Beispiel
eine Zeile nach Zeile 37987 eingefügt.
Gruß Sepp
Anzeige
Vielen Dank!!! o.t.
16.11.2004 18:59:42
Stephan
;

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