|
▼たけぞう さん:
こんばんは。
>配列の考え方が間違っており1セルには複数のデータを保管できないことがわかりました。そこでデータではなくセルの色等を条件にすればと思い以下のマクロを作成しました。
>A1に数値を入力、D4:F8をtable01と登録し、B1に =Test_VLook(A1)を入力しましたが、#VALUE!のエラーが出てしまいます。どのように修正すればよいのでしょうか。
セル範囲D4:F8を名前の登録でtable01という名前を付けたということですか?
>実際には =Test_VLook()の入るセルは多数あります。また出来るだけ別シート等は作成したくないのでこのような方法を考えました。
>回答宜しくお願いします。
>
Function Test_VLook(CELL_A1 As range) as variant
> If CELL_A1.Interior.ColorIndex = 3 Then
Test_VLook = Application.WorksheetFunction _
.VLookup(CELL_A1, Names("table01").RefersToRange, 2,false)
> ElseIf CELL_A1.Interior.ColorIndex = 5 Then
Test_VLook = Application.WorksheetFunction _
.VLookup(CELL_A1, Names("table01").RefersToRange, 3,false)
> Else: Test_VLook = ""
> End If
>End Function
でよいと思いますが・・・。
でも、セルを塗りつぶした色を変えても関数は反応しませんが
よいのですよね?
|
|