2.5k Aufrufe
Gefragt in Tabellenkalkulation von tzvenmann Einsteiger_in (7 Punkte)
Also: Ich mache gerade eine ExcelKalkulation, die aus mehreren Tabellen besteht.

Die erste Tabelle ist die Kalkulationstabelle. Eine Zeile besteht aus insgesamt 7 Spalten ( A bis G => A-C sind zusammengefügt und beinhalten => Artikel, D: Hersteller, E: Anzahl, F: Einzelpreis, G: Gesamtpreis. soweit so gut.

Die zweite Tabelle und nachfolgende enthalten die gleichen Spalten, worin die entsprechenden Infos des jeweiligen Hersteller hinterlegt sind (Artikel, Hersteller, Anzahl, Einzelpreis, Gesamtpreis).

Nun möchte ich folgendes erwirken:
Ich möchte eine Verbindung von Tabelle zwei und folgende zur Tabelle eins haben. Wenn ich nun auf einen Artikel der Tabelle 2 und nachfolgende Klicke, möchte ich, dass dieser in die erste Kalkulationstabelle übertragen wird und zwar die komplette Zeile mit den entsprechenden Spalten und Inhalten.

Im Prinzip möchte ich, wenn ich einen Wert in einer Zeile der Tabelle 2 und nachfolgenden anklicke, dass die komplette Zeile mit den entsprechenden Spalten auf Tabelle eins mit den hinterlassenen Werten übertragen wird. Gibt es dafür eine Lösung???

3 Antworten

0 Punkte
Beantwortet von papa39 Mitglied (205 Punkte)
Hi,

du kannst eine Schaltfläche einfügen und diese mit dem Befehl verknüpfen, die markierten Zellen an Punkt X zu kopieren. Das kannst du mit "Macro aufzeichnen" lösen.

Dann musst du nur die gewünschten Daten markieren und auf den Button klicken.

Viel Spaß
papa39
0 Punkte
Beantwortet von
Moin

Eine Variante für die Arbeitsmappe

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column = 1 And Target.Cells.Count = 1 And Sh.Name <> "Tabelle2" Then
Application.EnableEvents = False1
With Worksheets("Tabelle2")
Sh.Rows(Target.Row).Copy
.Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone
End With
Application.CutCopyMode = False
Application.EnableEvents = True
End If
End Sub


Eine Variante für die Tabelle

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Cells.Count = 1 Then
Application.EnableEvents = False
With Worksheets("Tabelle2")
Rows(Target.Row).Copy
.Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial Paste:=xlValues, Operation:=xlNone
End With
Application.CutCopyMode = False
Application.EnableEvents = True
End If
End Sub
0 Punkte
Beantwortet von tzvenmann Einsteiger_in (7 Punkte)
Vielen Dank erstmal für die beiden Vorschläge... Verstehe ich aber leider nicht :-(( Vielleicht könnt Ihr es mir Schritt für Schritt
einfach(er) erklären, wann ich was machen muss...

Im Grunde genügt mir, wenn ich in einer Zelle einer bestimmten Zeile einen Wert über "0" habe, dass dann die komplette
Zeile mit ihren Inhalten aber ohne Formeln in die erste Tabelle kopiert wird, wo die gleichen "freien Zellen" ohne Inhalte
sind. Jede Zeile in Tabelle 1 ist einer bestimmten Zeile in Tabelle 2 zugeordnet... Dies würde mir schon genügen. Der
Vorschlag von papa39 war schon super, ich weiss nur nicht, wie ich dort hinkomme???? Vielleicht würde mir doch
nochmals jemand helfen können... Vielen Dank im voraus
...