Anzeige
Archiv - Navigation
1332to1336
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn und Index Funktion in VBA darstellen

Wenn und Index Funktion in VBA darstellen
15.10.2013 15:16:30
JackB
Hallo zusammen,
ich habe 12 Tabellenblätter mit jeweils einer Matrix.
Ich möchte erreichen, dass eine Index Funktion (mit zwei Vergleichen) in Abhängigkeit von drei Zellen aufgerufen wird.
Diese drei Zellen befinden sich im 13 Tabellenblatt.
A1 ist entweder 1, 2 oder 3
B1 ist 1 oder 2
C1 ist 1 oder 2
Dadurch ergeben sich 12 Kombinationen.
Also
A1 B1 C1
1 1 1
1 1 2
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1
2 2 2
3 1 1
3 1 2
3 2 1
3 2 2
Also Kombinationen sollen durch eine Wenn Funktion verknüpft sein.
Also Wenn A1 = 1 und B1 = 2 und C1 = 1, dann gib Index-Funktion aus Tabelle 3 wieder.
Nach ausführen des Makros soll der Wert aus der Matrix in einer Zelle wiedergegeben werden
Ich hoffe es ist klar, was ich meine.
Für eure Hilfe bin ich sehr dankbar.
Viele Grüße
JackB

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn und Index Funktion in VBA darstellen
15.10.2013 15:23:56
Rudi
Hallo,
warum? Wo ist die Logik?
Ich hoffe es ist klar, was ich meine.
Absolut nicht.
Gruß
Rudi

Tabellenblatt mit Formel auswählen (VBA)
15.10.2013 17:48:07
Erich
Hi,
einen Teil deiner Aufgabe glaube ich verstanden zu haben:
Aus der Kombination der Werte in Tabelle13!A1:C1 ergibt sich der Name eines Tabellenblatts,
aus dem ein Wert entnommen werden soll. Dieser Wert soll in eine Zelle (wo?) geschrieben werden.
Wie deine Matrizen und Index-Funktion aussehen, wie innerhalb einer Matrix zu suchen wäre, bleibt im Dunkel.
Das mit der Tabellenauswahl verstehe ich so:
 ABCD
1A1B1C1Tabelle
21111
31122
41213
51224
62115
72126
82217
92228
103119
1131210
1232111
1332212

Formeln der Tabelle
ZelleFormel
D2=4*A2+2*B2+C2-6

Die Werte A1:C1 sind nicht mit WENN usw. verknüpft, wie du das wolltest.
Die Tabellennr. lässt sich einfacher ohne WENN ausrechnen.
So könnten Zeilen einer Prozedur aussehen, die auf das berechnete Blatt zugreifen: Option Explicit Sub NichtWirklichKlar() With Worksheets(13) .Cells(47, 11) = Worksheets(4 * .Cells(1, 1) _ + 2 * .Cells(1, 2) + .Cells(1, 3) - 6).Cells(7, 7) End With 'oder With Worksheets("Tabelle13") .Cells(47, 11) = Worksheets("Tabelle" & (4 * .Cells(1, 1) _ + 2 * .Cells(1, 2) + .Cells(1, 3) - 6)).Cells(7, 7) End With End Sub Hier wird statt der noch unklaren INDEX-Geschichte der Wert aus Zelle I7 des berechneten Blatts geholt.
Das Ergebnis in die Zelle Tabelle13!K47 geschrieben (Cells(47,11).
Was meinst du mit einer Formulierung wie "gib Index-Funktion aus Tabelle 3 wieder"?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Tabellenblatt mit Formel auswählen (VBA)
16.10.2013 13:14:49
JackB
Hallo zusammen,
Danke für die bisherige Hilfe.
ich habe eine Beispiel Datei erstellt und denke alles wird dadurch ein bisschen klarer.
Bitte schaut euch die Datei an. Ich konnte sie leider nicht hier hochladen, da ich sie nicht auswählen konnte.
http://www.file-upload.net/download-8184191/Herber_Hilfe.xlsx.html
Ich danke im Voraus.
Viele Grüße

INDIREKT
16.10.2013 14:37:08
Erich
Hi,
so sieht das schon etwas anders aus.
Warum konntest du die xlsx-Mappe "nicht auswählen" und hochladen? Was passierte? Fehlerhinweis?
Ich lade normalerweise keine Mappen von sonstigen Filehostern...
Probier mal
 BCDEFG
5ZGTEINGABE 1EINGABE 2Ausgabe
61üx-8,50-2,751107,00
7      
8   1 G1107 

Formeln der Tabelle
ZelleFormel
G6=INDEX(INDIREKT("'"&B6&WENN(C6="ü";" G";"")&WENN(D6="ü";" T";"")&"'!B5:AH85"); E6*4+41;F6*4+17)
E8=B6&WENN(C6="ü";" G";"")&WENN(D6="ü";" T";"")
F8=INDEX(INDIREKT("'"&E8&"'!B5:AH85"); E6*4+41;F6*4+17)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Die Zahl 1107 habe ich im Blatt '1 G' in Zelle G11 geschrieben, als Testwert.
Sollte dein Ergebnis 397,00 stimmen?
Die Formeln in E8:F8 sind nur zur Info.
Deine Mappe ist kaum zum Testen geeignet - zu viele leere und zu viele gleiche Zellen in den Blättern.
Wie soll man da merken, ob man eine Zeile oder Spalte daneben liegt oder nicht?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige