Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Excel Matrix Formel in VBA darstellen.

Excel Matrix Formel in VBA darstellen.
14.03.2008 14:05:00
Karen
Hallo!
Ich möchte nachstehenden Matrix Sachverhalt in VBA darstellen:
zwei Tabellenblätter (TB)
Wenn Zelle A8 (TB1) gleich einem Wert in dem Bereich A1 - A10 (TB2)
und
Wenn Zelle B8 (TB1) gleich einem Wert in dem Bereich B1 - B10 (TB2)
und
Wenn Zelle C8 (TB1) gleich einem Wert in dem Bereich C1 - C10 (TB2)
Dann trage den Wert aus der gefundenen Zelle (TB2) in die Zelle D8 (TB1).
Vielen Dank für Eure Hilfe im voraus!!!
Karen

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Matrix Formel in VBA darstellen.
14.03.2008 14:11:15
Mag

Dann trage den Wert aus der gefundenen Zelle (TB2)


... hä?

AW: Excel Matrix Formel in VBA darstellen.
14.03.2008 14:18:32
Karen
Vielleicht könntest Du freundlicherweise Dein "Hä?" konkretisieren. Danke!

AW: Excel Matrix Formel in VBA darstellen.
14.03.2008 14:21:13
Rudi
Hallo,
ich denke mal: ... hä?=welche Zelle?
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Excel Matrix Formel in VBA darstellen.
14.03.2008 14:21:47
Mag
Hallo,
nun, du vergleichst ob 3 werte in TB1 in Bereichen der TB2 vorkommen; aber welchen konkreten Wert hast du dann denn gefunden, den du kopieren willst?
Gruss

AW: Excel Matrix Formel in VBA darstellen.
14.03.2008 14:42:27
Karen
Ich habe in einem TB1 drei Werte, die sich auch in einem TB2 befinden, aber nicht immer in der identischen Zeile. In der Zeile (TB2), in der die drei Werte übereinstimmen, befindet sich im TB2 ein vierter Wert, der mich interessiert. Diesen Wert möchte ich dann in TB1 übertragen.

Anzeige
AW: Excel Matrix Formel in VBA darstellen.
14.03.2008 14:56:00
Rudi
Hallo,
ungetestet:

Sub WerteSuchen()
Dim vntTB1, vntTB2, i As Long, k As Long
vntTB1 = Sheets("TB1").Range("A1").CurrentRegion
vntTB2 = Sheets("TB2").Range("A1").CurrentRegion
For i = 2 To UBound(vntTB1)
For k = 2 To UBound(vntTB2)
If vntTB1(i, 1) = vntTB2(k, 1) And _
vntTB1(i, 2) = vntTB2(k, 2) And _
vntTB1(i, 3) = vntTB2(k, 3) Then
Sheets("TB1").Cells(i, 4) = vnt2(k, 4)
'falls nur die erste Übereinstimmung gesucht werden soll:
Exit Sub
End If
Next k
Next i
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Excel Matrix Formel in VBA darstellen.
18.03.2008 13:55:48
Karen
Hallo Rudi,
vielen Dank für die Formel. Ich habe sie auf ein Beispiel adaptiert (s. Anhang). Leider schreibt er mir den gewünschten Wert nicht in die rot markierte Zelle. Bis "then" macht er alles richtig, der Befehl "Sheets("xx").Cells(i, 4) = vntTB2(k, 4)" bleibt leider leer. Muß hier noch ein expliziter Befehl zum Verschreiben des Wertes rein? Leider sind meine VBA Kenntnisse zu rudimentär, um das Probelm zu lösen. Vielen Dank für Deine Hilfe im voraus.
https://www.herber.de/bbs/user/50815.xls
Grüße
Karen

Anzeige
AW: Excel Matrix Formel in VBA darstellen.
14.03.2008 15:40:36
Mag
Hi,
wenn keine doppelten einträge vorhanden sind, Ansatz:

Option Explicit
Sub ttt()
Dim zeile1 As Long, zeile2 As Long, zeile3 As Long
zeile1 = Evaluate("SUMPRODUCT((Tabelle2!A1:A10=Tabelle1!A8)*row(A1:A10))")
zeile2 = Evaluate("SUMPRODUCT((Tabelle2!B1:B10=Tabelle1!A9)*row(B1:B10))")
zeile3 = Evaluate("SUMPRODUCT((Tabelle2!C1:C10=Tabelle1!A10)*row(C1:C10))")
If zeile1 = zeile2 And zeile1 = zeile3 Then
MsgBox zeile1
Else
MsgBox "nix gefunden!"
End If
End Sub


Gruss

AW: Excel Matrix Formel in VBA darstellen.
14.03.2008 15:52:03
Mag
... oder schlicht so?:

Sub zzz()
Dim i As Long
For i = 1 To 10
If Sheets(1).Range("A8") = Sheets(2).Cells(i, 1) Then
If Sheets(1).Range("A9") = Sheets(2).Cells(i, 2) Then
If Sheets(1).Range("A10") = Sheets(2).Cells(i, 3) Then
MsgBox i
Exit Sub
End If
End If
End If
Next i
MsgBox "nix gefunden!"
End Sub


Gruss

Anzeige
AW: Excel Matrix Formel in VBA darstellen.
14.03.2008 16:08:31
Karen
Vielen Dank für die Subs. Es funktioniert leider nicht ;-(. Wohin wird in den Subs der in der vierten Spalte gefundene Wert berücksichtigt und verschrieben? Grüße Karen

AW: Excel Matrix Formel in VBA darstellen.
14.03.2008 18:19:00
Mag
... tja, damit du auch etwas mit überlegst?
Gefunden wird die Zeile; also statt 'MsgBox i' dann 'sheets(1).range(DEINE_ZIEL_ZELLE)= _
sheets(2).cells(i,4)'
Gruss

AW: Excel Matrix Formel in VBA darstellen.
17.03.2008 07:57:56
Karen
Sorry, aber ich finde Deinen Kommentar "... tja, damit du auch etwas mit überlegst?" unangebracht. Wenn ich mehr als rudimentäre Ahnung von VBA hätte, würde ich diesen Sachverhalt hier im Forum nicht erfragen. Im übrigen funktioniert Deine Anwendung nicht. Trotzdem vielen Dank für Deine Mühe.

Anzeige
AW: Excel Matrix Formel in VBA darstellen.
17.03.2008 08:05:00
Karen
Sorry, aber ich finde Deinen Kommentar "... tja, damit du auch etwas mit überlegst?" unangebracht. Wenn ich mehr als rudimentäre Ahnung von VBA hätte, würde ich diesen Sachverhalt hier im Forum nicht erfragen. Im übrigen funktioniert Deine Anwendung nicht. Trotzdem vielen Dank für Deine Mühe.

AW: Excel Matrix Formel in VBA darstellen.
17.03.2008 08:38:19
Mag
Hallo,
ich finde schon, dass man hier im Forum nicht fertige Lösungen erfragt, in seine Anwendung kopiert und das Problem vergessen sollte. Ich finde, dass man Lösungsansätze über die Excel-Hilfe verstehen kann, und dann auch in der Lage sein sollte, Veränderungen am Code durchzuführen; u.U. auch mittels "try'n'error" versucht die Lösung zu finden. Ich stelle deshalb die Frage auf offen, damit Du ggf. eine fertige Lösung erhalten kannst.
Gruss
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige