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

Forumthread: x-mal Zeilenwerte in Spalte wiederholen

x-mal Zeilenwerte in Spalte wiederholen
18.01.2018 13:17:12
Cora
Hallo liebe Excel Spezialisten,
ich benötige eure Hilfe:
In Spalte A wird eine vorgegebene Zahlenreihenfolge aufgeführt (z.B. 800.000.000-800.500.000). Die Darstellung erfolgt jeweils +1 je Zeile. Das kann man sehr gut mit der Auto-Ausfüllen Funktion lösen. Diese Werte diese Spalte sollen im Folgenden unberührt bleiben.
Nun zu meinem Problem: in Spalte B sollen variable siebenstellige Kundennummern eingetragen werden, die in Abhängigkeit zu einem Wert in Spalte C x-Mal nach unten wiederholt werden sollen. Also im Beispiel würde man in Spalte B "1111111" eintragen und dann in Spalte C die Anzahl "3". Die Kundennummer sollte also automatisch 2 mal in Spalte B in die Zeilen nach unten eingetragen werden. Dieser Schritt wird dann immer wiederholt. Im Beispiel sind die Zahlen bei Anzahl sehr niedrig, in der Realität werden sich diese Zahlen aber durchaus von 50-10000 bewegen können.
Spalte A NR
800.000.000
800.000.001
800.000.002
800.000.003
800.000.004
800.000.005
800.000.006
usw.
Spalte B Kundennr
1111111
1111111
1111111
2222222
2222222
usw
Spalte C Anzahl
3
2
usw
https://www.herber.de/bbs/user/119074.xlsx
Vielen Dank für eure Hilfe!!
Beste Grüße
Cora
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: x-mal Zeilenwerte in Spalte wiederholen
18.01.2018 13:24:37
Rudi
Hallo,
ins Klassenmodul des Blatts:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Target.Column = 3 Then
If IsNumeric(Target) Then
Target.Offset(, -1).Resize(Target) = Target.Offset(, -1)
Target.Offset(Target, -1).Select
End If
End If
End If
End Sub

Gruß
Rudi
Anzeige
AW: x-mal Zeilenwerte in Spalte wiederholen
18.01.2018 14:26:43
Cora
Herzlichen Dank, Rudi! Ich habe es jetzt geschafft, ein Klassenmodul zu erstellen, allerdings ist mir als ziemliche Anfängerin leider noch nicht klar, wie ich es zum Laufen kriege. Ich bin gerade am Recherchieren.
Grüße,
Cora
falsch!!!
18.01.2018 14:36:45
Rudi
du sollst kein Klassenmodul erstellen. Das gibt es bereits.
Rechtklick auf den Tabellenreiter - Code anzeigen und den Code in das rechte Fenster kopieren.
Reagiert bei Änderung einer Zelle in C.
Gruß
Rudi
Anzeige
AW: falsch!!!
18.01.2018 14:51:03
Cora
Es funktioniert perfekt!! :-)
Vielen lieben Dank! Ich bin begeistert.
Grüße,
Cora
kleine Korrektur
18.01.2018 13:30:38
Rudi
sonst geht das schief, wenn C leer ist.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Target  "" Then
If Target.Column = 3 Then
If IsNumeric(Target) Then
Target.Offset(, -1).Resize(Target) = Target.Offset(, -1)
Target.Offset(Target, -1).Select
End If
End If
End If
End If
End Sub

Gruß
Rudi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeilenwerte in Excel mehrfach wiederholen


Schritt-für-Schritt-Anleitung

  1. Vorbereitung: Erstelle eine Tabelle mit den Kundennummern in Spalte B und der Anzahl der Wiederholungen in Spalte C.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Code einfügen:

    • Suche im Projektfenster nach deinem Arbeitsblatt und mache einen Rechtsklick darauf.
    • Wähle „Code anzeigen“ aus.
    • Füge den folgenden Code in das rechte Fenster ein:
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Count = 1 Then
           If Target.Column = 3 Then
               If IsNumeric(Target) And Target <> "" Then
                   Target.Offset(, -1).Resize(Target.Value) = Target.Offset(, -1)
                   Target.Offset(Target.Value, -1).Select
               End If
           End If
       End If
    End Sub
  4. Schließe den VBA-Editor: Drücke ALT + Q, um den Code zu speichern und den Editor zu schließen.

  5. Testen: Trage eine Kundennummer in Spalte B und die Anzahl der Wiederholungen in Spalte C ein. Die Kundennummer wird nun automatisch entsprechend der Anzahl in Spalte B wiederholt.


Häufige Fehler und Lösungen

  • Fehler: Nichts passiert beim Eintragen: Stelle sicher, dass der Code korrekt eingefügt wurde und die Zelle in Spalte C eine Zahl enthält.

  • Fehler: Zu viele oder zu wenige Wiederholungen: Überprüfe, ob die Zahlen in Spalte C korrekt sind. Der Code erwartet eine numerische Eingabe.

  • Fehler: C ist leer: Der angepasste Code berücksichtigt, dass kein Wert in C eingegeben ist, um Fehler beim Ausführen zu vermeiden.


Alternative Methoden

  • Auto-Ausfüllen: Wenn du nur eine kleine Anzahl an Wiederholungen hast, kannst du die Zelle manuell kopieren und die Autofill-Funktion nutzen.

  • Excel Formel verwenden: Anstelle von VBA kannst du mit Formeln arbeiten, um Werte zu wiederholen, auch wenn das weniger effizient ist, wenn es um große Datenmengen geht.

=IF(ROW(A1)<=C1,B1,"")

Kopiere diese Formel nach unten, um die Werte zu überprüfen.


Praktische Beispiele

  1. Beispiel 1: Du hast in Spalte B die Kundennummer „1111111“ und in Spalte C die Zahl „3“ eingegeben. Das Ergebnis in Spalte B wird dann so aussehen:

    1111111
    1111111
    1111111
  2. Beispiel 2: Für die Kundennummer „2222222“ in Spalte B und der Anzahl „2“ in Spalte C wird das Ergebnis:

    2222222
    2222222

Tipps für Profis

  • Excel Shortcut wiederholen: Du kannst STRG + D verwenden, um den Inhalt der obersten Zelle in die darunter liegenden Zellen zu kopieren, wenn du nur eine Zeile wiederholen möchtest.

  • Optimierung des VBA-Codes: Überlege, den Code so zu erweitern, dass er auch für mehrere Zeilen gleichzeitig funktioniert, um die Effizienz zu steigern.

  • Verwendung von dynamischen Arrays: Wenn du mit Excel 365 arbeitest, kannst du dynamische Arrays verwenden, um die Daten automatisch zu erweitern.


FAQ: Häufige Fragen

1. Wie kann ich mehr als 10.000 Wiederholungen durchführen?
Der VBA-Code ist dafür ausgelegt, viele Wiederholungen zu unterstützen. Achte darauf, dass Excel genügend Speicher hat, um die Daten zu verarbeiten.

2. Was passiert, wenn ich die Anzahl in Spalte C ändere?
Der Code wird sofort ausgeführt, und die entsprechenden Werte in Spalte B werden automatisch aktualisiert, basierend auf der neuen Anzahl.

3. Kann ich diesen Code für andere Spalten verwenden?
Ja, du kannst den Code anpassen, indem du die Spaltennummern änderst, um ihn für andere Spalten zu verwenden.

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