Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
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

WorksheetFunction.Index

WorksheetFunction.Index
Justus
Hallo Excel-Community,
Ich würde gerne eine Index-Formel in VBA mittels der Function WorksheetFunction.Index nachbauen,
doch ich erhalte immer den Fehler "Objekt erforderlich".
Meine Index-Formel lautet:
=INDEX(IndexMatrix;VERGLEICH(A6;IndexZeile;0);VERGLEICH(B6;IndexSpalte;0))="C"
Mein VBA-Code lautet:
Dim wsf As WorksheetFunction: Set wsf = Application.WorksheetFunction
Dim IndexMatrix As Range: Set IndexMatrix = wSQuelle.Range("M7:P14")
Dim IndexZeile As Range: Set IndexZeile = wSQuelle.Range("L7:L14")
Dim IndexSpalte As Range: Set IndexSpalte = wSQuelle.Range("M6:P6")
For i = 6 To 13 Step 1
If wsf.Index(IndexMatrix, _
wsf.Match(Worksheets("Tabelle1").Range("A" & i), IndexZeile, 0), _
wsf.Match(Worksheets("Tabelle1").Range("B" & i), IndexSpalte, 0)) = "C" Then
Worksheets("Tabelle1").Range("C" & i).Interior.Color = vbGreen
End If
Next i
End Sub
Anbei noch mein Excel-Beispiel.
https://www.herber.de/bbs/user/80390.xlsm
Hat jdm. eine Idee was ich falsch mache?
Vielen Dank im Voraus...
Justus

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: WorksheetFunction.Index
02.06.2012 16:02:48
CitizenX
Hi,
Set IndexMatrix = wSQuelle.Range("M7:P14")

hier tritt dein Fehler auf weil nirgends wSQuelle deklariert ist.
lösch od deklarier das Gedröhns und es sollte laufen..

Sub WorksheetFunction()
Dim wsf As WorksheetFunction: Set wsf = Application.WorksheetFunction
Dim IndexMatrix As Range: Set IndexMatrix = Range("M7:P14")
Dim IndexZeile As Range: Set IndexZeile = Range("L7:L14")
Dim IndexSpalte As Range: Set IndexSpalte = Range("M6:P6")
For i = 6 To 13 Step 1
If wsf.Index(IndexMatrix, _
wsf.Match(Worksheets("Tabelle1").Range("A" & i), IndexZeile, 0), _
wsf.Match(Worksheets("Tabelle1").Range("B" & i), IndexSpalte, 0)) = "C" Then
Worksheets("Tabelle1").Range("C" & i).Interior.Color = vbGreen
End If
Next i
End Sub
Grüße
Steffen
Anzeige
AW: WorksheetFunction.Index
02.06.2012 16:14:13
Justus
Hallo Citizen X,
Yuhu!!! Perfekt. Es funktioniert.
Vielen Dank.
Justus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige