
VBAで入力規則の設定がうまくいきません どなたかご教示ください。
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim A As String
If Target.Column = 3 And Target.Row >= 77 And Target.Row <= 65536 Then
If Target.Value <> "" Then
Worksheets("Sheet2").Range("A1:Z5").Copy _
Destination:=Target.Offset(5, -1)
For i = 5 To 9
For k = 5 To 23 Step 2
A = "=INDIRECT(" & Target.Offset(0, 3).Address & ")"
Target.Offset(i, k).Validation.Delete
Target.Offset(i, k).Validation.Add Type:=xlValidateList, Formula1:=A
Next
Next
End If
End If
End Sub
「実行時エラー '1004' : アプリケーションの定義またはオブジェクト定義のエラー」が出てしまします。
A = "=INDIRECT(" & Target.Offset(0, 3).Address & ")"
Target.Offset(i, k).Validation.Delete
Target.Offset(i, k).Validation.Add Type:=xlValidateList, Formula1:=A
"=INDIRECT(""" & Target.Offset(0, 3).Address & """)"こうすることや"INDIRECT(" & Target.Offset(0, 3).Address & ")"こうするとエラーは発生しません。これはバグなのでしょうか?
上記だとリストに値がうまく設定されません。
このプログラムの意味ですが・・・
ttp://www.relief.jp/itnote/archives/000822.php
こちらにあるような物を参考にしています。
ドロップダウンリストを連動させて使いたいのです。
No.2ベストアンサー
- 回答日時:
>この方法は連動しません
当たり前です
INDIRECTでのアドレス指定は何も無い所を指定しているのですから
連動するわけがありません
何処を参照したいの?
コードからは何処の値を参照したいのか読み取れません
したがってエラー対処のみです
これ以上は、詳細を提示してもらわないと回答の使用がありません
No.1
- 回答日時:
>これはバグなのでしょうか?
いいえ違います
VBA上での文字列の扱いが間違っています
セルに入力の場合は
=INDIRECT("A1")
VBA上では
"=INDIRECT(""A1"")"
>上記だとリストに値がうまく設定されません。
A=INDIRECTに設定されるアドレスが違うと思います
多分、LISTなので A1:A10 など範囲で設定するのが普通だと思いますが
Aには単一セルのアドレスしか設定されていませんよ
参考までに
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Debug.exe実行時にWinMainCRTSt...
-
【マクロ】エラー【#DIV/0!】が...
-
Do While中のVBAアプリケーショ...
-
Amazon api について。JANコー...
-
エラー1004 PDFの保存ができま...
-
Access:結果は出るがエラー
-
VBAがブレークモードになっ...
-
IEのダウンロード通知バーのVBA...
-
Excelで下記のようにマクロを作...
-
ASPの初歩的な質問です
-
EXCEL/VBAで、自分のPCだけエラ...
-
Excel TextBoxクラスのCharacte...
-
JSP/サーブレットを用いたWebア...
-
パスワードによるシートの保護...
-
エラー:インデックスが配列の...
-
実行時エラー 438になった時の...
-
VBS実行時エラー オブジェクト...
-
VBAでピボットテーブルの作成(...
-
'Speak'メソッドは失敗しました
-
ASPでメール送信時エラーが出る
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
【マクロ】エラー【#DIV/0!】が...
-
実行時エラー -'-2147417848
-
実行時エラー3001「引数が間違...
-
実行時エラー48発生時のDLL特定...
-
【Excel VBA】マクロをボタンに...
-
マクロについて教えてください...
-
なぜこんな初歩的なVBAのIf文で...
-
VB6+SQL サーバー 2000 で 実行...
-
OLEDB.NETで接続できない
-
EXCEL/VBAで、自分のPCだけエラ...
-
ExcelVBA Range クラスの Page...
-
Invalid procedure call or arg...
-
VBAでのエラー
-
AccessVBAでExcelを起動し、罫...
-
[Delphi] データセットは閉じて...
-
VBAで実行時エラー'424' オブジ...
-
なぜエラーになるのでしょうか...
-
ADODB.Streamを使用してUTF-8を...
おすすめ情報