Kann mir da jemand einen fertigen Codeschnipsel bitte geben? Ich glaube das sind nicht mehr als 4 Zeilencode ^^
1. Antwort: Falsch!
2. Antwort: Kommt drauf an...
Die Frage ist eigentlich wozu das Array, wozu mehrdimensional?
Du hast Range("B4:Z4") und Range("B20:Z20") ... beide haben die Spaltenanzahl gemein.
Mase hat dir schon den richtigen Weg gewiesen, mit Application.Match und Application.Index.
Option Explicit
Sub Test()
Dim rngNames As Excel.Range
Dim rngValues As Excel.Range
Dim vntValue As Variant
Dim vntIndex As Variant
Dim dtm As Date
Set rngNames = Range("B4:Z4")
Set rngValues = Range("B20:Z20")
dtm = CDate("2021-01-05")
vntIndex = Application.Match(CDbl(dtm), rngNames, 0)
If Not IsError(vntIndex) Then
vntValue = Application.Index(rngValues, 1, vntIndex)
Call MsgBox(vntValue)
End If
End Sub
Ich könnte dir aber genau so gut eine Klasse schreiben die du dann wie eingangs beschrieben wie ein Array aufrufen könntest. Nur sind das dann nicht nur 4 Zeilen, auch nicht 30 und auch nicht 50.
Gerade wenn man keine Ahnung hat, sollte man mit solchen Vermutungen lieber hinter dem Berg bleiben. Du siehst warum ... oder?
Grüße
|