Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Tabelle mit mehrere Worksheet_Change(ByVal Target As Range)

Forumthread: Tabelle mit mehrere Worksheet_Change(ByVal Target As Range)

Tabelle mit mehrere Worksheet_Change(ByVal Target As Range)
02.10.2025 17:16:56
derBaer
Hallo Profis
Ich habe eine Datei hochgeladen:
https://www.herber.de/bbs/user/179105.xlsm

Nach eingabe von der Zelle F1 kommt folgender Code zum Einsatz:


Private Sub Worksheet_Change(ByVal Target As Range)


Const lMax As Long = 100 'Begrenzung der Wiederholungen
If Target.Address(0, 0) = "F2" Then
If Range("F1") = "" Then
MsgBox "Bitte erst Artikelnummer angeben.", vbExclamation, "Hinweis"
Exit Sub
End If
If IsNumeric(Target) Then
If Target = lMax And Target > 0 Then
Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(CLng(Target)).Value = Range("F1")
Else
MsgBox "Anzahl ist entweder negativ oder übersteigt das vorgegebene Maximum von " & lMax & " Wiederholungen.", vbExclamation, "Hinweis"
End If
Else
MsgBox "Anzahl ist nicht numerisch.", vbExclamation, "Hinweis"
End If
End If

End Sub


Ich möchte, dass nach dem oberen Code, der Cursor von F1 nach F2 springt.
Nach Eingabe bei F2 der Cursor wieder auf F1 springt.

Kann mir jemand helfen?
Danke zum Voraus für Deine Hilfe.
Urs
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle mit mehrere Worksheet_Change(ByVal Target As Range)
02.10.2025 17:52:32
RPP63
Moin!
Du musst doch nur vor dem letzten End If folgendes eintragen:
Range("F1").Select

Ich würde das allerdings anders angehen.
Erstellen Dir eine "Wiederholungs-Tabelle":
 AB
1Art_NrAnzahl_Wdhlg.
2111113
3222210
4333320
5444411
6555519

Dann lässt Du ein allgemeines Makro über die Zeilen laufen und stapelst die Wiederholungen.
Ist jedenfalls weniger fehlerbehaftet als Dein Ereignismakro.

Gruß Ralf
Anzeige
Hier mein Makro
02.10.2025 17:58:42
RPP63
Sub Wdhlg()

Dim i&
Cells(1, "F") = "Liste"
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
Cells(Rows.Count, "F").End(xlUp).Offset(1).Resize(Cells(i, "B")) = _
Cells(i, "A")
Next
End Sub
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18