Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1948to1952
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

Tabelle dynamisch in anderes Worksheet kopieren

Tabelle dynamisch in anderes Worksheet kopieren
12.10.2023 23:28:49
Lukas
Hallo Leute,

ich bräuchte mal eure Hilfe, da ich Neuling bin und mir die VBA Schnippsel überall zusammensuche. Komme aber gerade nicht weiter.

Ich habe 2 Worksheets in Excel. Worksheet "A" und Worksheet "B".
In Worksheet "A" habe ich eine Tabelle auf B2:C5 liegen, mit Rahmen und einigen Funktionen in den Zellen.
Worksheet "B" ist zunächst leer.
Mein Ansinnen ist es, dass die Tabelle aus Worksheet "A" bei Veränderung einer bestimmten Zelle in Worksheet "B" in das Worksheet "B" reinkopiert wird.

Dem Grunde nach habe ich bereits eine Lösung für einen einmaligen Gebrauch:

Private Sub Worksheet_Change(ByVal Target As Range)


If Not Intersect(Target, Range("B2:B2")) Is Nothing Then

Application.EnableEvents = False

Sheets("A").Select
ActiveSheet.Range("A2:C5").Select
Selection.Copy
Sheets("B").Select
ActiveSheet.Range("A9").Select
ActiveSheet.Paste

Application.EnableEvents = True

End If

End Sub



In meinem Quelltext wird also die Tabelle aus Worksheet "A" in die Zelle A9 aus Worksheet "B" kopiert.

Ich möchte nun innerhalb der kopierten Tabelle wiederum eine Zeile definieren (genau im Abstand 7 Zellen unter der zuvor definierten Zelle, also B9), die genau das gleiche tut. Wenn ich also in der neuen Tabelle in B9 etwas eingebe, dann soll wieder 7 Zeilen weiter unten eine neue Tabelle eingefügt werden mit wiederum einer Zelle, die auf erneute Eingabe wieder eine Tabelle einpflegt. Und das soll immer so weiter gehen. Immer wenn ich also neue Daten in die zuletzt reinkopierte Tabelle eingebe, soll 7 Zeilen darunter wieder eine Tabelle einkopiert werden.

Ich müsste in meinem Code an der Stelle
If Not Intersect(Target, Range("B2:B2")) Is Nothing Then

also irgendwie ein B2+7+14+21 usw. hinbekommen.

Ebenso im Code
ActiveSheet.Range("A9").Select

ein A9+7+14+21 usw.

Die aus Worksheet "A" einzukopierende Tabelle soll immer dieselbe sein.

Wie kann ich das bewerkstelligen?

Danke euch!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle dynamisch in anderes Worksheet kopieren
13.10.2023 00:55:55
Piet
Hallo

diesen Code in das Tabellen Blatt "A" kopieren. Damit sollte es gehen. Bin gespannt ob es funktioniert.
Geprüft wird auf Eingabe in der Spalte B. Beginnend bei Zelle B2, dann immer mit Versatz von 7 Zeilen nach unten.
In Tabelle B wird der Bereich immer um 7 Zeilen tiefer kopiert als die sendende Zeile aus Tabelle !.

mfg Piet

  • Private Sub Worksheet_Change(ByVal Target As Range)
    Dim AdrA As String, Zeile As Double
    If InStr(Target.Address, ":") Then Exit Sub
    If Target.Value = Empty Then Exit Sub

    If Not Intersect(Target, Columns(2)) Is Nothing Then
    'Ganzahl ab Zeile 2 mit Versatz von 7 Zeilen ermitteln
    Zeile = (Target.Row - 2) / 7
    If Int(Zeile) = Zeile Then
    Application.EnableEvents = False
    'Target Adresse um 7 Zeilen nach unten verschieben
    AdrA = Target.Offset(7, -1).Address 'A9
    Target.Offset(0, -1).Resize(4, 3).Copy 'A2:C5
    Sheets("B").Range(AdrA).PasteSpecial xlPasteAll
    Application.CutCopyMode = False
    Application.EnableEvents = True
    End If
    End If
    End Sub
  • Anzeige
    AW: Tabelle dynamisch in anderes Worksheet kopieren
    18.10.2023 22:31:29
    Lukas
    Guten Abend Piet und vielen Dank für deinen Beitrag.

    Sorry für die späte Rückmeldung, ich bin grade viel unterwegs und komme nur ab und an mal dazu weiter an der Excel zu arbeiten.

    Ich wollte nun in VBA den Code ins Tabellenblatt A reinkopieren und bekomme eine Fehlermeldung (siehe Bilder).

    https://i.postimg.cc/Prdnxq41/Fehlermeldung.jpg
    https://i.postimg.cc/66rNtZd9/Fehlermeldung-2.jpg

    Wie sollte ich weiter verfahren?

    Danke!
    Anzeige
    AW: Tabelle dynamisch in anderes Worksheet kopieren
    18.10.2023 22:54:14
    Lukas
    So, ich hab jetzt mal bei der Meldung auf Ja geklickt und es scheint trotzdem irgendwie zu gehen. Allerdings tut es nicht was es soll :-) Dennoch tut er was, das zumindest schonmal ein guter Anfang ist.

    Ich beschreibe mal grob was passiert:

    Dein Quelltext wurde in VBA in Worksheet A kopiert. Wenn ich in Worksheet "A" nun in Zeile 2 etwas reinschreibe kopiert er mir in Worksheet "B" in B9:C12 die Tabelle mit Rahmen und meinem einen Eintrag aus Worksheet "A". Wenn ich nun in Worksheet "A" 7 Zeilen tiefer etwas eingebe, dann kopiert er das, was ich eingegeben habe wiederum 7 zeilen Tiefer in Worksheet "B". Eigentlich sollte er jedoch bei einem Eintrag in Worksheet "B" (und nicht A) in Zeile 2, die Tabelle, die in Worksheet "A" (nur einmalig) hinterlegt ist, in Worksheet "B" 7 Zeilen unter den in Worksheet "B" erfolgten Eintrag kopieren. Die in Worksheet "A" hinterlegte Tabelle ist eine Art Dummy, soll heißen, es soll immer die gleiche leere Tabelle aus Worksheet "A" immer 7 Zeilen tiefer in Worksheet "B" kopiert werden soll, wenn vom Aktivierungsfeld in Worksheet "B" immer 7 Zeilen tiefer ein Eintrag erfolgt.

    Es ist leider echt nicht leicht das zu beschreiben, sorry :-)
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige