Clever-Excel-Forum

Normale Version: Liste automatisch erweitern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Excel-Freunde, 

ich würde gern eine Liste erstellen, welche sich automatisch erweitert sobald ich in A1 einen Namen eingegeben habe. Sprich in A1 gebe ich was ein und in B1 erscheint der Name, sobald ich auf Enter drücke und A1 ist wieder leer. Der nächsten Name der in A1 eingegebene wir sollte dann in B2 erscheinen... usw.

Leider habe ich nicht mal einen Ansatz gefunden, wie das funktionieren könnte, evtl über VBA!? 

Vielen Dank im Voraus. 

VG Basti
Moin Basti,

das geht NUR über VBA.
Aber warum nimmst du nicht eine Intelligente Tabelle, das ist doch einfach effektiver ...
Danke für die schnelle Antwort! 

Das war für mich bisher noch kein Begriff! Da muss ich erst mal schauen, wie das funktioniert...

gruss
Also,
in A1 kommt eine Überschrift (zwingend).
Dann schreibst du in A2 einen Namen

Damit ist die Basis gelegt. Nun in A1 oder A2 klicken und Strg+T oder Strg+L
Im Abfragefenster darauf achten, dass die Tabelle Überschriften hat (Häkchen).
Und nun hast du einen Automatismus: In den letzten Eintrag klicken und [Tab], schon wird eine neue Zeile erstellt und du kannst den namen eingeben. Das ganze Gebilde hat dann auch einen Bereichs-Namen, der sich automatisch anpasst.

Der riesige Vorteil: Wenn in B2 oder einer anderen Zelle der Liste eine Formel steht, wird diese automatisch in die neue Zeile übernommen. Und es gibt da noch einige andere Vorteile ...
Vielen Dank für den Ansatz! Ich schaue mir das an, wenn ich zuhause bin. Und teste das mal... 

Bis dahin, noch nen schönen Abend! ;)
Hallo Basti,

du fragtest eventuell VBA?

folgenden Code in das Codemodul der Tabelle in der es wirken soll:


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address(0, 0) = "A1" Then
   If Target <> "" Then
     Application.EnableEvents = False
     If Range("B1") = "" Then
       Cells(1, 2) = Target
       Target = ""
     Else
       Cells(Cells(Rows.Count, 2).End(xlUp).Row + 1, 2) = Target
       Target = ""
     End If
     Target.Select
     Application.EnableEvents = True
   End If
 End If
End Sub


Nach Änderung und verlassen der Zelle A1 wird der Inhalt in die ertse freie Zelle der Spalte B eingetragen
und die Zelle A1 zur erneuten Eingabe ausgewählt. Dabei ist es egal, ob mit Enter Tab oder der Maus die Zelle nach Änderung verlassen wird.
Hallo Günther, 

ich habe mal geschaut, leider passt das nicht für meine Zwecke. Trotzdem vielen Dank für deine Mühen. 

Hallo Atilla,

das war genau das was ich gesucht habe. Vielen Dank für die Hilfe. 



Nun würde ich das gern erweitern, und die Namen welche untereinander geschrieben werden zählen. Kann ich in C:C nun jeden Namen der in B:B steht 1x rausfiltern? Sprich, in B:B steht 5x Tim, 6x Max, 10 Paul, usw.; dann soll in C:C jeweils 1x Tim, 1x Max, 1x Paul, usw. stehen. 

Geht so etwas? Vielen Dank schonmal. ;)
(08.04.2016, 22:26)basti1912 schrieb: [ -> ]Nun würde ich das gern erweitern, und die Namen welche untereinander geschrieben werden zählen. Kann ich in C:C nun jeden Namen der in B:B steht 1x rausfiltern? Sprich, in B:B steht 5x Tim, 6x Max, 10 Paul, usw.; dann soll in C:C jeweils 1x Tim, 1x Max, 1x Paul, usw. stehen. 

Geht so etwas? Vielen Dank schonmal. ;)

Guck mal hier:
Da ist genau das, was du suchst schon gelöst
http://www.clever-excel-forum.de/Thread-...B-ausgeben
Moin,

Zitat:Kann ich in C:C nun jeden Namen der in B:B steht 1x rausfiltern? Sprich, in B:B steht 5x Tim, 6x Max, 10 Paul, usw.; dann soll in C:C jeweils 1x Tim, 1x Max, 1x Paul, usw. stehen.

hier mal zwei Formellösungen.

Mit Matrixformel und einer Hilfsspalte (kann einfach ausgeblendet werden)

Tabelle2

BCD
1NamenHSp.Matrixformel
2KlausxKlaus
3KlausMax
4MaxxPeter
5PeterxSabine
6SabinexSonja
7Max
8Klaus
9Sabine
10Sabine
11Sonjax
Formeln der Tabelle
ZelleFormel
C2=WENN(ZÄHLENWENN($B$2:$B2;B2)=1;"x";"")
D2{=WENN(ZEILE(B1)>SUMME((B2<>"")*($C$2:$C$11="x"));"";INDEX(B:B;KKLEINSTE(WENN(($B$2:$B$11<>"")*($C$2:$C$11="x");ZEILE($2:$11));ZEILE(B1))))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Matrixfreie Lösung mit zwei Hilfsspalten

Tabelle2 (2)

BCDE
1NamenHSp.HSp.matrixfreie Lösung
2Klausx1Klaus
3Klaus3Max
4Maxx4Peter
5Peterx5Sabine
6Sabinex10Sonja
7Max
8Klaus
9Sabine
10Sabine
11Sonjax
Formeln der Tabelle
ZelleFormel
C2=WENN(ZÄHLENWENN($B$2:$B2;B2)=1;"x";"")
D2=VERGLEICH("x";$C$2:$C$11;0)
E2=WENNFEHLER(INDEX($B$2:$B$11;D2);"")
C3=WENN(ZÄHLENWENN($B$2:$B3;B3)=1;"x";"")
D3=WENNFEHLER(WENN(ZEILE(B1)>ZÄHLENWENN($C$2:$C$11;"x");"";D2+VERGLEICH("x";INDEX(INDEX($C$2:$C$11;D2+1):C$11;);0));"")
E3=WENNFEHLER(INDEX($B$2:$B$11;D3);"")

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Hallo Günter, 

vielen Dank du hast mir sehr geholfen! 

Gruß
Seiten: 1 2