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

Makro Fehler Warum?

Forumthread: 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
Anzeige

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
Anzeige
AW: Makro Fehler Warum?
24.08.2021 11:46:29
Laila
DANKE.
Ich mag es "schöner" ;)
;

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