Supportnet / Forum / Tabellenkalkulation
Zellen verknüpfen (bei neuem Eintrag Verknüpfung in nächste Zeile - Liste erstellen)
Frage
Hallo Ihr "Durchblicker",
folgendes Problem kann ich nicht
lösen :-((
Aus einem Rechnungsformular (Excel-Tab.) sollen bestimmte Zellen in eine andere Excel-Tabelle (Liste) kopiert werden.
Soweit noch klar und machbar.
Bei neuen Eintragungen in das Rechnungsformular sollen nun die neuen Inhalte der gleichen Zellen (z.B. Name, Datum, Betrag) in die 2. Tabelle (Liste) übernommen werden, aber natürlich, weil in Listenform, in die nächst untere Zeile (gleiche Spalte).
Das kann ich meinem PC nicht klarmachen.
Bitte daher dringend um Hiilfeeeeeeee!!
Viiiiiieeeeelen Dank!
Antwort 1 von Aliba
Hi edo,
da kommst Du um eine Makrolösung nicht herum.
Ich bin jetzt nicht der VB-Ler, aber man kann das auch über den Makrorecorder lösen.
Ich gehe mal davon aus, daß sich die beiden Tabellen in einer Mappe befinden. Gehen wir weiterhin davon aus, daß es sich bei den drei zu kopierenden Zellen um die Zellen B3 C3 und D3 in Tabelle1 handelt.
In Tabelle2 benötigen wir eine Hilfszelle . Nehmen wir mal G1
In diese Zelle schreibst Du die Formel: =ANZAHL2(A:A)+1
So jetzt wechselst Du in das Tabellenblatt1. Hier startest Du über
ETRAS-MAKRO-Aufnehmen den Makrorekorder. Und nun in dieser Reihenfolge aufzeichnen:
Zellen B3 bis D3 markieren.Kopieren.BEARBEITEN-Gehe zu.
Bei Bezug gibst Du ein: =INDIREKT("Tabelle2!A"&Tabelle2!G1). Dann den OK-Button drücken. Du gelangst in die erste freie Zelle der Spalte A im Tabellenblatt2. Rechter Mausklick, Inhalte einfügen - Werte. Dann wechselst Du wieder auf Tabelle1 in Zelle B3, dann wieder EXTRAS-Makro - Aufzeichnung beenden.
Etwas habe ich vergessen. Bevor Du die Aufzeichnung startest, formatiere in Tabellenblatt 2 Spalte B als Datum und Spalte C als Währung Euro.
So nachdem du die AUfzeichnung beendet hast, erstellst Du über ANSICHT - SYMBOLLEISTEN - Formular eine Befehlsschaltfläche und weist dieser Schaltfläche Dein Makro zu.
Jetzt kannst Du in B3 bis D3 neu erfassen und dann auf den Button klicken und die Einträge werden in Tabelle2 in der ersten freien Zeile eingefügt.
Ich hab das auch mal aufgezeichnet und dann sieht das Makro so aus:
Sub Makro1()
Range("B3:D3").Select
Selection.Copy
Application.Goto Reference:="INDIRECT(""Tabelle2!A""&Tabelle2!R[-2]C[5])"
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Tabelle1").Select
Range("B3").Select
Application.CutCopyMode = False
End Sub
da kommst Du um eine Makrolösung nicht herum.
Ich bin jetzt nicht der VB-Ler, aber man kann das auch über den Makrorecorder lösen.
Ich gehe mal davon aus, daß sich die beiden Tabellen in einer Mappe befinden. Gehen wir weiterhin davon aus, daß es sich bei den drei zu kopierenden Zellen um die Zellen B3 C3 und D3 in Tabelle1 handelt.
In Tabelle2 benötigen wir eine Hilfszelle . Nehmen wir mal G1
In diese Zelle schreibst Du die Formel: =ANZAHL2(A:A)+1
So jetzt wechselst Du in das Tabellenblatt1. Hier startest Du über
ETRAS-MAKRO-Aufnehmen den Makrorekorder. Und nun in dieser Reihenfolge aufzeichnen:
Zellen B3 bis D3 markieren.Kopieren.BEARBEITEN-Gehe zu.
Bei Bezug gibst Du ein: =INDIREKT("Tabelle2!A"&Tabelle2!G1). Dann den OK-Button drücken. Du gelangst in die erste freie Zelle der Spalte A im Tabellenblatt2. Rechter Mausklick, Inhalte einfügen - Werte. Dann wechselst Du wieder auf Tabelle1 in Zelle B3, dann wieder EXTRAS-Makro - Aufzeichnung beenden.
Etwas habe ich vergessen. Bevor Du die Aufzeichnung startest, formatiere in Tabellenblatt 2 Spalte B als Datum und Spalte C als Währung Euro.
So nachdem du die AUfzeichnung beendet hast, erstellst Du über ANSICHT - SYMBOLLEISTEN - Formular eine Befehlsschaltfläche und weist dieser Schaltfläche Dein Makro zu.
Jetzt kannst Du in B3 bis D3 neu erfassen und dann auf den Button klicken und die Einträge werden in Tabelle2 in der ersten freien Zeile eingefügt.
Ich hab das auch mal aufgezeichnet und dann sieht das Makro so aus:
Sub Makro1()
Range("B3:D3").Select
Selection.Copy
Application.Goto Reference:="INDIRECT(""Tabelle2!A""&Tabelle2!R[-2]C[5])"
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Tabelle1").Select
Range("B3").Select
Application.CutCopyMode = False
End Sub
Antwort 2 von Guenter
Hallo,
ohne Hilfszellen und Bezüge könnte das Makro so aussehen:
Gruß
Günter
ohne Hilfszellen und Bezüge könnte das Makro so aussehen:
Sub Makro2()
Range("B3:D3").Select
Selection.Copy
Sheets("Tabelle2").Select
Range(Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1), Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 3)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Tabelle1").Select
End Sub
Gruß
Günter
Antwort 3 von edo
Hallo zusammen,
vielen Dank für die Hilfe bei meinem oben geschiderten Problem.
Den Tipp von Aliba konnte ich schon ausprobieren. Hat in dem von Dir geschilderten Beispiel auch gut geklappt.
Problematisch wird die Sache aber, wenn ich nicht benachbarte Zellen aus Tabelle1, sondern z.B. A1, B2, C3 und D9, oder so, in die Tabelle 2 übernehmen (kopieren) muss.
Ich als dummer "Nur-User" stehe da auf dem Schlauch.
Vielleicht kann man mir da nochmal weiter helfen!?
Vielen Dank im voraus!
Ansonsten
schönen Vatertag
Edo
vielen Dank für die Hilfe bei meinem oben geschiderten Problem.
Den Tipp von Aliba konnte ich schon ausprobieren. Hat in dem von Dir geschilderten Beispiel auch gut geklappt.
Problematisch wird die Sache aber, wenn ich nicht benachbarte Zellen aus Tabelle1, sondern z.B. A1, B2, C3 und D9, oder so, in die Tabelle 2 übernehmen (kopieren) muss.
Ich als dummer "Nur-User" stehe da auf dem Schlauch.
Vielleicht kann man mir da nochmal weiter helfen!?
Vielen Dank im voraus!
Ansonsten
schönen Vatertag
Edo
Antwort 4 von Guenter
Hallo,
das geht auch. Du musst dann zum Beispiel jede Zelle einzelne Zelle selektieren, copieren und einfügen.
Z.B. Zellen A1, B2, C3 und D9 in Tabelle1 in letzte Zeile Tabelle2:
Gruß
Günter
das geht auch. Du musst dann zum Beispiel jede Zelle einzelne Zelle selektieren, copieren und einfügen.
Z.B. Zellen A1, B2, C3 und D9 in Tabelle1 in letzte Zeile Tabelle2:
Option Explicit
Sub Makro3()
[a1].Select
Selection.Copy
Sheets("Tabelle2").Select
Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Tabelle1").Select
[b1].Select
Selection.Copy
Sheets("Tabelle2").Select
Cells(Cells(Rows.Count, 2).End(xlUp).Row + 1, 2).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Tabelle1").Select
[c3].Select
Selection.Copy
Sheets("Tabelle2").Select
Cells(Cells(Rows.Count, 3).End(xlUp).Row + 1, 3).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Tabelle1").Select
[d9].Select
Selection.Copy
Sheets("Tabelle2").Select
Cells(Cells(Rows.Count, 4).End(xlUp).Row + 1, 4).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Tabelle1").Select
End Sub
Gruß
Günter
Antwort 5 von edo
Hi Günter,
vielen Dank.
Werde das mal probieren und berichten.
Bis dann
edo
vielen Dank.
Werde das mal probieren und berichten.
Bis dann
edo
Antwort 6 von edo
Hallo Welt,
mit dem Vorschlag von Günter hat die Sache gut geklappt.
Vielen Dank nochmal
Gruß
edo
mit dem Vorschlag von Günter hat die Sache gut geklappt.
Vielen Dank nochmal
Gruß
edo

