teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

書式の改善、画像の挿入

2021/12/28 05:33

投稿

hkok96
hkok96

スコア3

title CHANGED
@@ -1,1 +1,1 @@
1
- ドロップダウンリストの処理のため、vlookupでの範囲を別シートにしたら1004のエラーが発生
1
+ vlookupでの範囲を別シートにすると『実行時エラー '1004' :WorkSheetFunction クラスの VLookup プロパティを取得できません。』が発生
body CHANGED
@@ -5,11 +5,7 @@
5
5
 
6
6
  "ドロップダウンリスト参照"のシートには、名前定義した"examplelist"、"ドロップダウンリスト"のシートで果物名がドロップダウンリストになっているので選択すると、それに対応する番号が入力される想定。
7
7
  "examplelist"
8
- 1 リンゴ
9
- 2 バナナ
10
- 3 マンゴー
11
- 4 オレンジ
12
- 5 パナップル
8
+ ![メージ説明](bad9861512d943cd430f8a42efaa6d94.png)
13
9
 
14
10
  例)ドロップダウンリストで"リンゴ"を選択すると"1"が入力される
15
11
 
@@ -19,11 +15,15 @@
19
15
 
20
16
  参考URLだと、一つのシートにドロップダウンリストとドロップダウンリストを作成するためのデータがあるが、作成したいものはドロップダウンリストとドロップダウンリスト作成のための名前定義したセル範囲をそれぞれ別のシートとして扱いたい。
21
17
   vlookup関数で選択した値とそれに紐づく値の切り替えをしたいが、範囲指定がうまくいかず、『実行時エラー '1004' :WorkSheetFunction クラスの VLookup プロパティを取得できません。』が発生して処理が停止する。
18
+  ```ここに言語を入力
22
-  >>selectedNum = WorksheetFunction.VLookup(selectedNa, tbl, 1, False) で処理が止まるので、"tbl"に問題がありそう。
19
+ selectedNum = WorksheetFunction.VLookup(selectedNa, tbl, 1, False)
20
+ ```
21
+ で処理が止まるので、"tbl"に問題がありそう。
23
22
 
24
23
  ### 該当のソースコード
25
24
 
26
25
  (VBA)
26
+ ```ここに言語を入力
27
27
  Private Sub Worksheet_Change(ByVal Target As Range)
28
28
  Dim tbl As Range
29
29
  Set tbl = ThisWorkbook.Worksheets("ドロップダウンリスト参照").Range("examplelist")
@@ -38,15 +38,13 @@
38
38
  Target.Value = selectedNum
39
39
  End If
40
40
  End If
41
+ ```
41
42
  End Sub
42
43
 
43
44
  ### 試したこと
44
45
 
45
46
  ローカルウィンドウで式を見たところ、以下のようになった。
46
- + : tbl : : Range/Range
47
- : selectedNa : "マンゴー" : Variant/String
48
- : selectedNum : Empty 値 : Variant/Empty
47
+ ![イメージ説明](1f3e291f2350544eddfb335d2c3dc1d3.png)
49
-
50
48
  WorksheetFunction.VLookupをapplication.vlookupに変更してみた。
51
49
 
52
50
  ### 補足情報(FW/ツールのバージョンなど)