Ich bin mir nicht mal sicher, ob dies möglich ist, und Google hat nichts für mich aufgedeckt. Ich habe eine Tabelle mit Daten in C6: F12, G6: G8. Ich möchte eine Schaltfläche einfügen, die alle diese Daten in eine einzelne NEUE Zeile einer anderen Tabelle sendet. Diese Tabelle befindet sich weiter unten im Arbeitsblatt. Abhängig von der Größe der Diagramme, die ich einfüge, beträgt der erste Datensatz ca. 50A: 50AD.
Daten von G7 und G8 würden kombiniert und in 50A platziert. Dann würde C6: F6 in 50B: 50E gehen, C7: F7 würde in 50F: 50I gehen, C8: F8 würde in 50J: 50m gehen, C9: F9 würde in 50N: 50Q gehen, C10: F10 würde in 50R: 50U gehen , C11: F11 würde in 50V: 50Y gehen, C12: F12 würde in 50Z: 50AC gehen und G6 würde in 50AD gehen.
Bei jedem Drücken der Taste wird eine neue Zeile erstellt, sodass sich der zweite Datensatz in denselben Spalten befindet, jedoch in Zeile 51, der dritte in Zeile 52 usw.
quelle
Antworten:
Schritt für Schritt:
Drücken Sie in Ihrer Arbeitsmappe Alt- F11, um den Visual Basic-Editor (VBE) zu öffnen.
Klicken Sie im Menü auf Einfügen> Modul und fügen Sie Folgendes in das große Codefenster ein
Schließen Sie die VBE
Fügen Sie in Ihr Blatt eine Schaltfläche oder eine Form ein. Klicken Sie mit der rechten Maustaste auf die Form und wählen Sie "Makro zuweisen". Wählen Sie das Makro "copyRow"
Platzieren Sie in Spalte A Text in einer Zelle, um den Anfang Ihrer Datentabelle zu markieren. Klicken Sie dann auf die Schaltfläche und die aktuellen Werte der Tabelle und der Bereiche in den Zeilen 6 bis 12 werden in die nächste leere Zeile kopiert.
Dieses Szenario basiert auf der Annahme, dass jede neue Datenzeile in G7 und G8 einen Wert hat, sodass jede Zeile in der folgenden Tabelle einen Wert in Spalte A hat.
quelle