Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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
Inhaltsverzeichnis

Makro Fehler Warum?

Makro Fehler Warum?
18.08.2021 14:51:46
Laila
Liebe Gemeinde,
ich habe folgendes Makro. Wenn ich meine Datei öffne und das Makro ausführe funktioniert es wunderbar. Ein zweites mal allerdings nicht mehr, da markiert er folgende Zeile: Selection.Insert Shift:=xlDown
Wieso? Weshalb? Warum?
Option Explicit

Sub ZeileEinfuegen()
Dim z, y, x
y = InputBox("Welche Zeile soll kopiert werden?", "Zeilenabfrage")
z = InputBox("Wie oft soll die Zeile kopiert werden?", "Zeilen Einfügen", 1)
For x = 1 To z
Rows(y).Select
Selection.Copy
Selection.Insert Shift:=xlDown
Next
Application.CutCopyMode = False
Cells(y, 1).Select
End Sub

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

Betreff
Datum
Anwender
Anzeige
Bei mir funktioniert es (owT)
18.08.2021 15:08:35
Pierre
AW: Makro Fehler Warum?
18.08.2021 15:13:27
Werner
Hallo,
nimm Application.Inputbox und Type:=1, dann ist nur die Eingabe von Zahlen zulässig. Bei deiner Version läuft der Code in einen Fehler, wenn versehentlich ein Buchstabe oder ein sonstiges Zeichen eingegeben wird.

Sub ZeileEinfuegen()
Dim z As Variant, y As Variant
y = Application.InputBox("Welche Zeile soll kopiert werden?", "Zeilenabfrage", Type:=1)
If y = False Then
Exit Sub
End If
z = Application.InputBox("Wie oft soll die Zeile kopiert werden?", "Zeilen Einfügen", 1, Type:=1)
If z = False Then
Exit Sub
End If
Rows(y).Copy
Rows(y).Resize(z).Insert
Application.CutCopyMode = False
End Sub
Gruß Werner
Anzeige
AW: Makro Fehler Warum?
24.08.2021 08:05:26
Laila
So, nach der Rückmeldung von Werner habe ich meinen Code nochmals angepasst (verschönert). Jetzt hab ich manchmal eine Fehlermeldung hier: Rows(y).Resize(z).Insert
Manchmal aber auch nicht - ist aber immer die gleiche Tabelle. *argh

Sub ZeileEinfuegen()
Dim z As Variant, y As Variant
'InputBox mit Dialogfeld
y = Application.InputBox("Welche Zeile soll kopiert werden?", "Zeilenabfrage", Type:=1)
'Prüfen, ob etwas eingetragen wurde
If y = "" Then
'kein Eintrag
MsgBox "Bitte die Zeile, die kopiert werden soll eintragen"
End If
'Prüfen, ob der Wert richtig ist
If y = False Then
Exit Sub
DoEvents
Else
'es wurde etwas eingetragen
MsgBox "Folgende Zeile wird kopiert:" & vbNewLine & y
z = Application.InputBox("Wie oft soll die Zeile kopiert werden?", "Zeilen Einfügen", 1, Type:=1)
'Prüfen, ob der Wert richtig ist
If z = False Then
Exit Sub
End If
DoEvents
'rows Gibt ein Range-Objekt zurück, das alle Zeilen im angegebenen Arbeitsblatt darstellt.
Rows(y).Copy
Rows(y).Resize(z).Insert
Application.CutCopyMode = False
End If
End Sub

Anzeige
AW: Makro Fehler Warum?
24.08.2021 09:05:39
GerdL
Moin Laila,
bei VBA-Code ist die Optik nachranging.

Sub ZeileEinfuegen()
Dim z As Variant, y As Variant
y = Application.InputBox("Welche Zeile soll kopiert werden?", "Zeilenabfrage", Type:=1)
If y = False Then Exit Sub
z = Application.InputBox("Wie oft soll die Zeile kopiert werden?", "Zeilen Einfügen", 1, Type:=1)
If z = False Then Exit Sub
If CLng(y)  y Or CLng(z)  z Then Exit Sub
If y  Rows.Count - z Then Exit Sub
Rows(y).Copy
Rows(y).Resize(z).Insert
Application.CutCopyMode = False
End Sub
Gruß Gerd
AW: Makro Fehler Warum?
24.08.2021 11:46:29
Laila
DANKE.
Ich mag es "schöner" ;)
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige