4.4k Aufrufe
Gefragt in Tabellenkalkulation von sunshine-hh Einsteiger_in (23 Punkte)
Hallo,

leider keine Lösung bisher gefunden:

es gibt eine Excel (2003) Tabelle mit 5 Tabs: "B1", "B2" etc.), in welche 5 Personen Ihre Daten einftragen. Jeder Person ist sozusagen ein Tab zugewiesen. Die Überschriften sind in jedem Tabellenblatt gleich, so dass der jeweilige Bearbeiter die Namen der verkauften Produkte + Preis etc. in sein Tabellenblatt einträgt.

Schön wäre es, eine Übersicht der ersten 6 Zellen einer Zeile aus allen 5 Tabs in einem neuen Tabellenblatt zu haben. Damit man unabhängig vom Bearbeiter alle verkauften Artikel auf einen Blick hat.

Und zwar: sobald eine neue Zeile in irgendeinem anderen Tabellenblatt ausgefüllt wird, sollen die Infos auch ins "Übersicht"-Tabellenblatt kopiert werden.

Gibt's dafür eine Lösung mit VBA? Habe leider nur minimale Kenntnisse über Makros.

Vielen vielen Dank!!!

[*][sup]
*Threadedit* 23.01.2009, 23:33:01
Admininfo: Führ bitte Threads nicht fort indem du Weitere eröffnest, und vermeide Mehrfachanfragen. Die Datenbank und User werden es dir danken. Siehe FAQ 2, #3.
[/sup]

16 Antworten

0 Punkte
Beantwortet von sunshine-hh Einsteiger_in (23 Punkte)
Kann mir keiner helfen??

Wenigstens ein Hinweis wo ich eine Antwort bekommen könnte?

Bitte.... :(
0 Punkte
Beantwortet von nostalgiker6 Experte (7.1k Punkte)
Würde es vielleicht genügen, wenn die Teil-Zeilen der 5 Bearbeiter
NEBENEINANDER stünden? Also:

Bearb-1             Bearb2                Bearb5
1 2 3 4 5 6 - - - 1 2 3 4 5 6 . . . . . 1 2 3 4 5 6

(Jede Ziffer steht für eine Spalte -
in Wirklichkeit wäre die Seite also u.U. ziemlich breit)
0 Punkte
Beantwortet von sunshine-hh Einsteiger_in (23 Punkte)
Nicht wirklich, denn dann kann ich nicht nach meinen gewünschten kriterien sortieren und z.B. den Besten Kauf o.ä. ermitteln.

Ich denke, es soll möglich sein, neue daten ins neue Tabellenblatt per Makto zu übertragen.

Es wäre auch ok, wenn ALLE Daten bzw. die komplette Zeile kopiert wäre.

Freue mich auf neue Vorschläge!
0 Punkte
Beantwortet von sigiru Mitglied (293 Punkte)
So wie ich die Aufgabenstellung verstanden habe, sollen die Daten sofort nach der Eingabe einer vollständigen Zeile ins Übersicht-Tabellenblatt kopiert werden - jedoch würden dabei spätere Korrekturen von Tippfehlern in vorhandenen Zeilen unberücksichtigt bleiben.

Wäre es dann nicht sinnvoller, am Ende einer Bearbeitung (oder zu einem beliebigen Zeitpunkt) ein Makro zur Neu-Erstellung der Gesamtliste aufzurufen? D. h. nach der Eingabe passiert nichts automatisch, und erst nach Makro-Aufruf wird die alte Übersicht gelöscht und eine neue erzeugt?
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

müsste grundsätzlich machbar sein, vielleicht auch ohne Makro, da aber der Aufbau der Tabellen nicht eindeutig dargestellt ist, wie wäre es mit einer Beispieldatei

www.file-upload.net/

einstellen und den Link zur datei hier hinterlegen

Gruß

Helmut
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all :-)

ein beispiel

gruss nighty

angenommen es werden 6 zellen genutzt

nach eingabe in der sechsten zelle erfolgt der uebertrag zur uebersicht

eventuelle anpassung der 6 (waere das F)
eventuelle anpassung des vergebenen namens Uebersicht

einzufuegen
alt+f11/projektexplorer/DeineArbeitsMappe

'ereigniss der arbeitsmappe
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'abschaltung des genutzten ereignisses
Application.EnableEvents = False
'abfrage auf spalte 6 und AvtiveWorksheet
If Target.Column = 6 And ActiveSheet.Name <> "Uebersicht" Then
'copy der daten zum tabellenblatt uebersicht
ActiveSheet.Range("A" & Target.Row & ":F" & Target.Row).Copy Worksheets("Uebersicht").Range("A" & Worksheets("Uebersicht").Cells(Rows.Count, 1).End(xlUp).Row + 1)
'ende der abfrage auf spalte wie ActiveWorksheet
End If
'einschaltung des genutzten ereignisses
Application.EnableEvents = True
End Sub
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all :-)

oder so :-)

angenommen der sheetname waere der mitarbeitername

dann waere hier noch eine variante die die mitarbeiternamen bzw sheetnamen in der spalte g darstellt

gruss nighty

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 6 And ActiveSheet.Name <> "Uebersicht" Then
ActiveSheet.Range("A" & Target.Row & ":F" & Target.Row).Copy Worksheets("Uebersicht").Range("A" & Worksheets("Uebersicht").Cells(Rows.Count, 1).End(xlUp).Row + 1)
Worksheets("Uebersicht").Range("G" & Worksheets("Uebersicht").Cells(Rows.Count, 1).End(xlUp).Row) = ActiveSheet.Name
End If
Application.EnableEvents = True
End Sub


wobei ein macro ohne kommentare einfach huebscher aussieht :-))

gruss nighty
0 Punkte
Beantwortet von sunshine-hh Einsteiger_in (23 Punkte)
Hallo an alle,

vielen Dank für die Vorschläge!

Ich dachte schon, mir kann keiner helfen...

@siguru
Wäre es dann nicht sinnvoller, am Ende einer Bearbeitung (oder zu einem beliebigen Zeitpunkt) ein Makro zur Neu-Erstellung der Gesamtliste aufzurufen? D. h. nach der Eingabe passiert nichts automatisch, und erst nach Makro-Aufruf wird die alte Übersicht gelöscht und eine neue erzeugt?

Hallo Siguru,
wann die Aktualisierung der Übersicht geschieht ist relativ egal- ob beim Aufmachen der Tabelle oder beim Schleißen. Solange die Chronologie bleibt.
Wie wäre dann der Script?



@ nighty- es hat noch nicht funktioniert, ich probiere weiter. Danke!
0 Punkte
Beantwortet von sunshine-hh Einsteiger_in (23 Punkte)

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 6 And ActiveSheet.Name <> "Uebersicht" Then
ActiveSheet.Range("A" & Target.Row & ":F" & Target.Row).Copy Worksheets("Uebersicht").Range("A" & Worksheets("Uebersicht").Cells(Rows.Count, 1).End(xlUp).Row + 1)
Worksheets("Uebersicht").Range("G" & Worksheets("Uebersicht").Cells(Rows.Count, 1).End(xlUp).Row) = ActiveSheet.Name
End If
Application.EnableEvents = True
End Sub




Das scheint grundsätzlich zu funktionieren. jedoch wenn nicht alle Zeilen ausgefüllt werden, bzw. erst später- dann werden die daten nicht in die übersicht kopiert und somit wohl in der übersicht "für immer" vergessen. Hier hat siguru recht.

Ich würde mich auf einen weiteren Lösungsvorschlag freuen!
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi Sunshine bzw all :-)

dies war ein beispiel,daher aeussere konkret deine wuensche, das es gegebenenfalls angepasst werden koennte .an variationen gibt es viele :-))

gruss nighty
...