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

Forumthread: Mit Button Zellen mehrfach untereinander kopieren

Mit Button Zellen mehrfach untereinander kopieren
05.10.2018 09:15:03
Bergen
Hallo zusammen,
ich benötige bitte eure Hilfe für folgendes Vorhaben:
Es geht um eine Vertriebsliste, die über einen Button Schrittweise erweitert werden soll.
Genauer gesagt geht es darum, per Commandbutton neue Vertriebspartner hinzufügen zu können.
Dabei sollen die Zellen a25:h29 kopiert und eingefügt werden.
einmalig kriege ich das hin, dass in a31:h35 der Inhalt kopiert wird.
Theoretisch könnte ich jetzt eine ellenlange Formel einfügen mit "if ...then" um bspw. bei dem weiteren Vertriebspartner bei a37:h41 einzufügen, aber da gibt es doch bestimmt eine einfacherere Lösung. Zumal bei dieser Variante auf einen Klick direkt die Gesamtzahl der "If then" Formeln erfüllt sind. Ich hoffe, das Problem ist damit verständlich beschrieben. falls nicht, fragt einfach ;-)
hier meine bisherige Formel:
Private Sub CommandButton1_Click()
If Worksheets("Oktober").Range("A25") = "Vertriebspartner Nummer" Then
Worksheets("Oktober").Range("a25:h29").Copy Worksheets("Oktober").Range("a31:h35")
If Worksheets("Oktober").Range("A31") = "Vertriebspartner Nummer" Then
Worksheets("Oktober").Range("a25:h29").Copy Worksheets("Oktober").Range("a37:h41")
Else
Worksheets("Oktober").Range("a25:h29").Copy Worksheets("Oktober").Range("a37:h41")
End If
End If
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Mit Button Zellen mehrfach untereinander kopieren
05.10.2018 09:49:28
ChrisL
Hi
Sub t()
Dim lZ As Long
With Worksheets("Oktober")
lZ = .Cells(Rows.Count, 1).End(xlUp).Row
lZ = (WorksheetFunction.RoundDown((lZ - 24) / 6, 0) * 6) + 25
.Range("A" & lZ & ":H" & lZ + 4).Copy .Range("A" & lZ + 6)
End With
End Sub
cu
Chris
Anzeige
AW: Mit Button Zellen mehrfach untereinander kopieren
05.10.2018 09:56:30
Bergen
ja mega, vielen Dank! das ging ja blitzschnell!

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Mit Button Zellen mehrfach untereinander kopieren


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und wechsle zu dem Arbeitsblatt, in dem du die Zellen kopieren möchtest (in diesem Beispiel "Oktober").

  2. Füge einen CommandButton hinzu:

    • Gehe zu "Entwicklertools" und wähle "Einfügen".
    • Wähle den "Button" aus und ziehe ihn auf dein Arbeitsblatt.
  3. Klicke mit der rechten Maustaste auf den Button und wähle "Code anzeigen".

  4. Füge den folgenden VBA-Code ein, um die Zellen a25:h29 zu kopieren und untereinander einzufügen:

    Private Sub CommandButton1_Click()
       Dim lZ As Long
       With Worksheets("Oktober")
           lZ = .Cells(Rows.Count, 1).End(xlUp).Row
           .Range("A25:H29").Copy .Range("A" & lZ + 1)
       End With
    End Sub
  5. Schließe den VBA-Editor und teste den Button, um die Zellen mehrfach untereinander zu kopieren.


Häufige Fehler und Lösungen

  • Fehler: Der Button funktioniert nicht.

    • Lösung: Überprüfe, ob der Code korrekt in das richtige Modul eingefügt wurde. Stelle sicher, dass der Button mit dem richtigen Sub verbunden ist.
  • Fehler: Die Zellen werden nicht in die gewünschte Zeile kopiert.

    • Lösung: Achte darauf, dass die Endzeile lZ korrekt berechnet wird. Überprüfe die Logik für das Einfügen der Daten.

Alternative Methoden

Eine andere Möglichkeit, Zellen mehrfach zu duplizieren, besteht darin, die Funktion "Kopieren" und "Einfügen" manuell zu verwenden. Du kannst auch ein Makro für wiederkehrende Aufgaben erstellen:

Sub ZeilenKopieren()
    Dim i As Integer
    For i = 1 To 5 ' Anzahl der Duplikate
        Worksheets("Oktober").Range("A25:H29").Copy _
        Worksheets("Oktober").Cells(30 + (i - 1) * 5, 1)
    Next i
End Sub

Praktische Beispiele

  • Beispiel 1: Um die Vertriebspartnerliste zu erweitern, kannst du den oben genannten VBA-Code nutzen, um die Zellen a25:h29 zu kopieren und unter die letzten vorhandenen Zeilen einzufügen.

  • Beispiel 2: Wenn du mehrere Vertriebsmitarbeiter hinzufügen möchtest, kannst du den Code anpassen, um die Zellen jeweils in einem Abstand von 5 Zeilen einzufügen, sodass die Übersichtlichkeit gewahrt bleibt.


Tipps für Profis

  • Nutze die Funktion xlUp, um die letzte beschriebene Zeile dynamisch zu ermitteln. So kannst du sicherstellen, dass die neuen Daten immer unter den bestehenden Daten eingefügt werden.
  • Experimentiere mit weiteren Excel-Funktionen, um die Effizienz deiner VBA-Programme zu steigern, wie z.B. Application.CutCopyMode = False, um den Kopiermodus nach dem Einfügen zu deaktivieren.

FAQ: Häufige Fragen

1. Wie viele Zeilen kann ich mit einem Button kopieren?
Du kannst mit VBA theoretisch unbegrenzt viele Zeilen kopieren, solange du den Code entsprechend anpasst und die Ressourcen deines Computers ausreichend sind.

2. Funktioniert dieser Code in jeder Excel-Version?
Ja, der Code sollte in den meisten Excel-Versionen ab Excel 2007 funktionieren. Achte jedoch darauf, dass die Entwicklertools aktiviert sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige