3Danke
ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
759
759
EMPFEHLEN
-
habe folgendes problem:
habe 20 tabellen Tabelle 1.....Tabelle 20 und ein summenblatt Sum. in allen tabellen gibt es auf position A1 einen kenncode (z.b. MC oder LT2). möchte jetzt auf dem summenblatt z.b. auf A5 einen dieser kenncodes eintragen und auf B5 den wert des feldes C10 von der tabelle übernehmen, die den gleichen kenncode hat. das müsste irgendetwas mit SVERWEIS sein? kann mir irgendjemand einen tip geben? muss noch dazusagen dass ich mit office für mac 2004 arbeite.
danke im voraus!
-
11.11.10 10:48 #2
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Schau mal hier. Da wird genau so ein Beispiel gezeigt.
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
danke für deine schnelle antwort! das beispiel hab ich schon gesehen, funktioniert aber nur für nebeneinanderliegende felder, oder? und angeblich nur für zahlen (das problem könnte ich umgehen). macht mich auch nervös, wenn ich die formeln nicht ganz kapier.
-
11.11.10 13:19 #4
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Wäre eine selbst erstelle Funktion für dich eine mögliche Lösung? Mit ein paar Zeile Code lässt sich das eigentlich schnell lösen. Hierzu in ein Modul folgenden Code eingeben:
Code vb:1 2 3 4 5 6 7 8 9
Function tabverweis(wert As String) For a% = 1 To Sheets.Count - 1 If ActiveWorkbook.Worksheets(a%).Range("A1") = wert Then tabverweis = ActiveWorkbook.Worksheets(a%).Range("C10") End If Next a% End Function
Du gibst nun in die Zelle "B5" folgendes ein:
=tabverweis($A$5)
und in die Zelle "A5" gibst du dann den Kenncode ein den du suchst.
NACHTRAG: Diese Funktion darf nur in der letzten Tabelle stehen (deshalb auch Sheets.Count - 1)!! Sonst wird sie beim Durchlauf selber auch berücksichtigt. Zur Not kann man es aber auch so ändern das die Funktion im ersten Tabellenblatt verwendet werden kann.Geändert von tombe (11.11.10 um 13:24 Uhr)
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
bin offenbar zu blöd: wenn ich das so mache, dann kommt: fehler beim kompilieren, sub oder funktion nicht definiert. mach ich da was grundsätzlich falsch?
ps. wenns dir zu blöd wird mit mir, sags bitte!
-
12.11.10 11:40 #6
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Hi,
irgendwas macht du wohl falsch. Die Fehlermeldung sagt mir aber nicht was es ist.
Ich hänge hier mal eine Beispieldatei dran. Es gibt Tabelle1 bis Tabelle4 in diesen steht immer in der Zelle "A1" die Kennziffer und daneben in der Zelle "B1" der dazugehörende Wert.
In der Tabelle5 kannst du dann ebenfalls in der Zelle "A1" eine beliebige Kennung eingeben und es wird in Zelle "B1" der Wert angezeigt der zu dieser Kennung gehört.
Hoffe mal du kommst damit klar und verstehst wie es aufgebaut ist. Zum Betrachten des Makros einfach ALT + F11 drücken und dort das Modul1 auswählen. Da steht dann die Funktion drin.
Gruß Thomas
P.S. Außerdem warum soll es mir zu blöd sein dir zu helfen?Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
12.11.10 14:47 #7
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
So und hier eine Lösung mit Excel eigenen Mitteln:
Code vb:1
=SVERWEIS(A1;INDIREKT(WAHL(1*(ZÄHLENWENN(Tabelle1!A:A;A1)>0)+2*(ZÄHLENWENN(Tabelle2!A:A;A1)>0)+3*(ZÄHLENWENN(Tabelle3!A:A;A1)>0)+4*(ZÄHLENWENN(Tabelle4!A:A;A1)>0);"Tabelle1";"Tabelle2";"Tabelle3";"Tabelle4")&"!A:B");2;0)
SVERWEIS dürfte von der Funktion her ja klar sein. Hier wird der Inhalt der Zelle "A1" als Vorgabewert genommen.
INDIREKT wandelt einen als Text übergenenen Wert in eine Referenz innerhalb Excel um.
WAHL wählt einen Wert aus einer Liste aus.
ZÄHLENWENN zählt die Werte zusammen die einer bestimmten Vorgabe entsprechen.
In dieser Formel wird nun durch ZÄHLENWENN ermittelt ob die in Zelle "A1" eigegebene Kennziffer in Tabelle1!A:A oder Tabelle2!A:A usw. enthalten ist. Wird ein Wert gefunden so wird dieser mit 1, 2, 3, 4 multipliziert um so zu ermitteln welchen Eintrag WAHL aus der Liste "Tabelle1"; "Tabelle2"; "Tabelle3"; "Tabelle4" nehmen soll.
Der so ermittelte Wert (Text) wird dann durch INDIREKT in eine gültige Excel Referenz umgewandelt und um die Matrix ("!A:B") für den SVERWEIS erweitert. Die Zahl 2 am Schluss sagt das aus der Matrix der Wert der 2. Spalte angezeigt werden soll.
So ich hoffe ich habe es jetzt auch wirklich so erklärt wie es ist
.
Du musst damit es bei dir geht alle "A1" in der Formel so ändern das es die Zelle enthält in die du die Kennziffer eingibst.
Dann musst du den ZÄHLENWENN Bereich für jede Tabelle erweitern die es bei dir gibt und auch die Zahl ergänzen die addiert wird (immer fortlaufend).
Als letztes musst du dann die Liste "Tabelle1"; "Tabelle2"; usw. noch erweitern das alles Tabellenblättern enthalten sind die es bei dir gibt (die Blattnamen sind natürlich entsprechend anzupassen).
Der Vorteil dieser Lösung ist das Excel nicht immer frägt ob das Ausführen von Makros erlaubt sein soll oder nicht.
Der Nachteil je mehr Blätter desto länger und unübersichtlicher wird die Formel.
Gruß ThomasSollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
Ähnliche Themen
-
EXCEL: Daten von Formularfeld in andere Tabelle in der Arbeitsmappe
Von metalcat303 im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 16.11.09, 17:06 -
Geschlossene Excel Arbeitsmappe auslesen - Office 2007
Von HuRaHoRRe im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 18.08.09, 13:54 -
Alle Tabellen und Spalten einer DB durchsuchen, und ergebnisse ausgeben
Von Kalma im Forum PHPAntworten: 3Letzter Beitrag: 10.09.06, 06:00 -
VBA Excel - Mehrere Formulardaten in Arbeitsmappe speichern
Von Pinky im Forum Visual Basic 6.0Antworten: 1Letzter Beitrag: 10.07.06, 14:00 -
Excel 95 Arbeitsmappe als Excel 2000 speichern
Von zodiak im Forum Office-AnwendungenAntworten: 2Letzter Beitrag: 07.10.03, 15:58





Zitieren

Login





