Clever-Excel-Forum

Normale Version: Stammdaten Adresskartei
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo

Excel 2013
Wer kann mir hier weiter helfen. Ich habe eine Adresskartei als Kundenkartei erweitert und möchte sämtliche Informationen eines Kunden dort ablegen.
Jeden Kunden hat ein Register (Tabelle). Um die Übersicht über sämtliche Kunden möchte ich ein Stammblatt mit den jeweiligen Adressen in einer Tabelle führen. Die Adressen sollten im Stammblatt automatisch übertragen und alphabetisch sortiert werden.


Tabelle 1 (Tabellenblatt Meisterfirma)
Meisterfirma

AB
3FirmaMeisterfirma
4Kontaktperson NameMuster
5VornameDaniel
6StrasseBahnhofstrasse 8
7PLZ8000
8OrtZürich
9
10Telefon044 850 50 50
11Natel079 999 99 99

Excel Tabellen im Web darstellen >> http://www.excel-jeanie-html.de" target="_blank"> Excel Jeanie HTML 4.8

Tabelle 2 (Tabellenblatt Kontaktfirma)
Kontaktfirma

AB
3FirmaKontaktfirma
4Kontaktperson NameWalther
5VornameMiriam
6StrasseSeestrasse 58
7PLZ8000
8OrtZürich

Excel Tabellen im Web darstellen >> http://www.excel-jeanie-html.de" target="_blank"> Excel Jeanie HTML 4.8


das Ergebnis müsste automatisch in der Tabelle Stammdaten nach Firma sortiert werden. Sobald weitere Tabellen hinzugefügt werden sollte auch das Stammblatt nachgeführt werden.
Stammdaten

ABCDEFGHI
3FirmaNameVornameStrassePLZOrtTelefonNatel
4KontaktfirmaWaltherMiriamSeestrasse 588000Zürich044 850 50 50079 999 99 99
5MeisterfirmaMusterDanielBahnhofstrasse 88000Zürich

Excel Tabellen im Web darstellen >> http://www.excel-jeanie-html.de" target="_blank"> Excel Jeanie HTML 4.8

Danke für die Hilfe im Voraus
Gruss Oski
Hi,

ohne VBA wie folgt:

Definiere den Namen x (Strg+F3) mit Bezug auf:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
Das Stammblatt ist (bei den Reitern) ganz LINKS angeordnet.

Schreibe nun dort in A4 folgende Formel und kopiere sie anschließend nach rechts und so weit nach unten, wie es irgendwann mal Firmen geben wird / soll:

=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!A:B");SPALTE(C$1);2)


VG, Boris
Hi,

ohne VBA wie folgt:

Definiere den Namen x (Strg+F3) mit Bezug auf:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
Das Stammblatt ist (bei den Reitern) ganz LINKS angeordnet.

Schreibe nun dort in A4 folgende Formel und kopiere sie anschließend nach rechts und so weit nach unten, wie es irgendwann mal Firmen geben wird / soll:

=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!B:B");SPALTE(C$1))

VG, Boris
(22.06.2015, 20:20){Boris} schrieb: [ -> ]Definiere den Namen x (Strg+F3) mit Bezug auf:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
kannst Du mir das X noch kurz erklären, das habe ich nicht begriffen

übrigens die Formel habe ich in Zelle A4 und ff kopiert, die Zelle beinhaltet wohl die Formel aber die Firmendaten erscheinen nicht!!

Stammdaten

ABCDEFGHI
3FirmaNameVornameStrassePLZOrtTelefonNatel
4
5
Formeln der Tabelle
ZelleFormel
A4=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!B:B");SPALTE(C$1)))
B4=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!B:B");SPALTE(D$1)))
C4=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!B:B");SPALTE(E$1)))
D4=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!B:B");SPALTE(F$1)))
E4=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!B:B");SPALTE(G$1)))
F4=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!B:B");SPALTE(H$1)))
G4=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!B:B");SPALTE(I$1)))
H4=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!B:B");SPALTE(J$1)))
I4=WENN(ZEILEN($1:1)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:2))&"'!B:B");SPALTE(K$1)))
A5=WENN(ZEILEN($1:2)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:3))&"'!B:B");SPALTE(C$1)))
B5=WENN(ZEILEN($1:2)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:3))&"'!B:B");SPALTE(D$1)))
C5=WENN(ZEILEN($1:2)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:3))&"'!B:B");SPALTE(E$1)))
D5=WENN(ZEILEN($1:2)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:3))&"'!B:B");SPALTE(F$1)))
E5=WENN(ZEILEN($1:2)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:3))&"'!B:B");SPALTE(G$1)))
F5=WENN(ZEILEN($1:2)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:3))&"'!B:B");SPALTE(H$1)))
G5=WENN(ZEILEN($1:2)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:3))&"'!B:B");SPALTE(I$1)))
H5=WENN(ZEILEN($1:2)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:3))&"'!B:B");SPALTE(J$1)))
I5=WENN(ZEILEN($1:2)>ANZAHL2(x)-1;"";INDEX(INDIREKT("'"&INDEX(x;ZEILEN($1:3))&"'!B:B");SPALTE(K$1)))

Excel Tabellen im Web darstellen >> http://www.excel-jeanie-html.de" target="_blank"> Excel Jeanie HTML 4.8



Oski
Hi,

(22.06.2015, 19:41)oski schrieb: [ -> ]Wer kann mir hier weiter helfen. Ich habe eine Adresskartei als Kundenkartei erweitert und möchte sämtliche Informationen eines Kunden dort ablegen.
Jeden Kunden hat ein Register (Tabelle). Um die Übersicht über sämtliche Kunden möchte ich ein Stammblatt mit den jeweiligen Adressen in einer Tabelle führen. Die Adressen sollten im Stammblatt automatisch übertragen und alphabetisch sortiert werden.
[...]
das Ergebnis müsste automatisch in der Tabelle Stammdaten nach Firma sortiert werden. Sobald weitere Tabellen hinzugefügt werden sollte auch das Stammblatt nachgeführt werden.

Jetzt mache ich etwas, was ich eigentlich doof finde, ich hinterfrage die Intention der Tabelle eines Fragers (nach dem Motto: "Was willst Du überhaupt mit so einer Datei?") unabhängig vom sicher funktionierenden Vorschlag von Boris:

Wie wenige Kunden hast Du denn? Mir wären das viel zu viele Register/Tabellen.

Eigentlich benötigst Du doch nur ein einziges Tabellenblatt (Dein Stammdaten-Blatt) und eine Userform/Eingabemaske zur Erweiterung (und evtl. Suche nach / Änderung von Kundendaten).

Hier mal mit Maske für Eingabe:
[attachment=2327]
Hi,

(22.06.2015, 20:29)oski schrieb: [ -> ]
(22.06.2015, 20:20){Boris} schrieb: [ -> ]Definiere den Namen x (Strg+F3) mit Bezug auf:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())
kannst Du mir das X noch kurz erklären, das habe ich nicht begriffen

also Du gehst in Excel 2013 auf
FORMELN / Namens-Manager / Neu

als "Name" gibst Du x ein und als "bezieht sich auf" die Formel:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())

dann OK und "Schließen". Fertig!
(22.06.2015, 21:43)Rabe schrieb: [ -> ]also Du gehst in Excel 2013 auf
FORMELN / Namens-Manager / Neu

als "Name" gibst Du x ein und als "bezieht sich auf" die Formel:
=ARBEITSMAPPE.ZUORDNEN(1+0*JETZT())

dann OK und "Schließen". Fertig!

Vielen Dank, es hat funktioniert
Oski