Zellinhalt per Mausklick zurückholen?

Hallo Leute,
ich habe eine riesige Excel 2000 Datei, die im Prinzip so aussieht:
Fritz / a
Jan / b
Jan / c
Jan / d
Fritz / c
Jan / a

Aus ihr möchte ich möglichst elegant eine Menge Diagramme ziehen. Das Problem ist, das ich extrem viele Begriffe der Kategorie a, b usw. habe. Ich hab mir gedacht, ein zweites Tabellenblatt zu öffnen, wo ich die Begriffe für die Diagrammachsen als kleine Hilfstabelle folgendermaßen anordne (vom Prinzip her):

----- /“aktives Feld“
Fritz / ?
Jan / ?

Wenn ich jetzt z.B. in der Haupttabelle irgendwo auf ein Feld mit dem Inhalt a klicke (ggf. Mausklick mit Tastenkombi), soll dieser Inhalt ins „aktiven Feld“ zurückgegeben werden (hier also: a). Die ? stehen für die jeweilige Anzahl (inzwischen weiß ich dank eurer Hilfe, dass das mit SUMMENPRODUKT geht).

Vielen Dank im Voraus,
lynndinn

Wenn ich jetzt z.B. in der Haupttabelle irgendwo auf ein Feld
mit dem Inhalt a klicke (ggf. Mausklick mit Tastenkombi), soll
dieser Inhalt ins „aktiven Feld“ zurückgegeben werden (hier
also: a). Die ? stehen für die jeweilige Anzahl (inzwischen
weiß ich dank eurer Hilfe, dass das mit SUMMENPRODUKT geht).

Hallo Lynn,

die Haupttabelle hat den Namen „Tabelle1“, die a,b,c,d,usw. stehen dort in Spalte B.

Dann „Tabelle2“ so:

Tabellenblatt: [Mappe1]!Tabelle2
 │ A │ B │
──┼───────┼───┤
1 │ │ d │
──┼───────┼───┤
2 │ Fritz │ 0 │
──┼───────┼───┤
3 │ Jan │ 1 │
──┴───────┴───┘
Benutzte Formeln:
B2: =SUMMENPRODUKT((Tabelle1!$A$1:blush:A$100=A2)\*(Tabelle1!$B$1:blush:B$100=$B$1))
B3: =SUMMENPRODUKT((Tabelle1!$A$1:blush:A$100=A3)\*(Tabelle1!$B$1:blush:B$100=$B$1))

A1:B3
haben das Zahlenformat: Standard

Tabellendarstellung erreicht mit dem Code in FAQ:2363

In Tabelle2!B1 schreibst du nichts rein, das macht dieses Makro automatisch wenn du in Tabelle1 irgendwo in Spalte B reinklickst.

Alt+F11, Doppelklick links auf „Tabelle1“, Code reinkopieren, Editor schließen.

Private Sub Worksheet\_SelectionChange(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Target.Column 2 Then Exit Sub
Worksheets("Tabelle2").Range("B1") = Target.Value
End Sub

Gruß
Reinhard

Hallo Reinhard,
vielen Dank für die rasche Antwort.
Ich hab´s noch nicht so ganz geschafft. In Wirklichkeit ist Spalte A bei mir Spalte I und Spalte B ist Spalte K (war ja nur als Modell gedacht…).
Die Formel war einfach anzugleichen. Vielleicht habe ich aber Probleme mit dem Makro. Muss ich statt der 1 eine 9 (für I) und statt der 2 eine 11 (für K) setzen?
Oder mache ich deine Anleitung falsch?
…Alt+F11, Doppelklick links auf „Tabelle1“, Code reinkopieren, Editor schließen…
Wie wird das Makro ausgeführt? Nur durch das Schließen?
Gruß,
lynndinn

wowh!!! Ich hab´s! Einfach nur meine Spalten verschoben, deinen Anweisungen gefolgt, und schon ging´s.
Würde gern für eventuelle zukünftige ähnliche Fälle wissen, wie das mit den Zahlen in deinem Makro läuft.
Also: Ihr seid wirklich spitze!!!
Nochmals 1000 Dank.
Gruß,
lynndinn

Ich hab´s noch nicht so ganz geschafft. In Wirklichkeit ist
Spalte A bei mir Spalte I und Spalte B ist Spalte K (war ja
nur als Modell gedacht…).
Die Formel war einfach anzugleichen. Vielleicht habe ich aber
Probleme mit dem Makro. Muss ich statt der 1 eine 9 (für I)
und statt der 2 eine 11 (für K) setzen?

Hallo Lynndinn,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count 1 Then Exit Sub
If Target.Column 2 Then Exit Sub
Worksheets(„Tabelle2“).Range(„B1“) = Target.Value
End Sub

Wenn du in Tabelle1 einen Bereich markierst (egal eine Zelle oder einen Zellenbereich) so ruft Excel automatisch die Sub Worksheet_SelectionChange auf.
Ist sie nicht vorhanden geschieht nix, ansonstn wird sie getartet.

Target ist dann der markierte Zellbereich.
If Target.Cells.Count 1
überprüft ob nur eine elle markiert ist, wenn nicht wird die Sub verlasssen.

Nun wird überprüft ob die Zelle in Spalte B liegt mit
If Target.Column 2
Falls nicht wird auch die Sub verlassen.

Das hast du richtig erkannt, B ist die 2te Spalte, also eine 2
Für Spalte K dann eine 11 usw.

Gruß
Reinhard

Hallo Reinhard,
kann man dieses Makro noch so erweitern, dass es auch für mehrere Fälle (also sowas wie wenn/dann) funktioniert.
Also meine (Riesen-)Tabelle hat 26 Spalten und über 5500 Zeilen. Ich muss Auswertungen zu 5 Spalten („Abfragespalten“) machen, nehmen wir mal an Spalte A – E. In jeder dieser Spalten gibt es solche Begriffe wie „Fritz“ und „Jan“, deren jeweilige Häufigkeit der Begriffe a,b,c usw. in Spalte B ich aufsummieren möchte, wenn ich auf einen von letzteren klicke.
Diese Auswertung läuft dann (wie mir schon erklärt hattest in dem (Hilfs-)Arbeitsblatt Tabelle2. Aus dieser Auswertungstabelle erzeuge ich dann per F11 das gewünschte Diagramm, das in einem neuen Blarr „Diagramm1“ erscheint.
Soweit so gut.
Um nach eine der anderen 4 Abfragespalten auszuwerten, hatte ich aus meiner Haupttabelle umständlich jeweils eine neue Excel-Ersatz-Haupttabelle gebastelt, bei der ich die Abfragespalte jeweils an den Anfang gesetzt hatte, das Makro an der Stelle „If Target.Column 2“ in Bezug auf die in Frage kommenden Begriffe a,b,c usw. (hier die 2) anglich und diese Begriffe in Tabelle2 in die Spalte A eintrug.
Das ist ziemlich umständlich, da ich 100te von Diagrammen produzieren muss (blöde Facharbeit meiner Tochter……).
Gibt es ein einziges Makro, das ich per Editor in Tabelle1 lanciere und das mir die Auswertungen der 5 Spalten in 5 getrennten Arbeitsblättern „Tabelle2“ – „Tabelle6“ mit jeweils manuell vorbereiteter Spalte A einträgt. Dann klicke ich in der Haupttabelle „Tabelle1“, wo sich das Makro befindet, auf einen der Begriffe a,b,c usw. und schwupp erscheint in dem jeweiligen Arbeitsblatt das jeweilige Auswertungsdiagramm, mit dem ich dann seinerseits mein gewünschtes Diagramm erhalte.
Ufff, scheint schwierig zu sein… Oder?
Jedenfalls jetzt schon ganz leiben Dank für die bisherige Unterstützung.
Gruß,
lynndinn

oje, ich glaub, ich hab zu viel geredet…
kurz gesagt: ich habe 4 Spalten der Art „Fritz“ und 3 Spalten der Art „a,b,c“. Das Makro soll die Auswertung dieser „Fritz“-Spalten in 4 neue Arbeitsblätter bringen, wo 3 Spalten (vielleicht mit vorbereiteten Abfragezellen) für die Auswertung der 3 „a,b,c“-Spalten dienen.
Jetzt besser?