
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
実行時エラー -'-2147417848
-
VBAがブレークモードになっ...
-
VBAでのエラー
-
【Excel VBA】マクロをボタンに...
-
INSERT INTOステートメント構文...
-
アクセス 実行時エラー3265
-
マクロについて教えてください...
-
VBAのコードがエラーになっ...
-
ExcelVBAで、ユーザー定義型は...
-
Outlook.ApplicationをCreateOb...
-
ExcelVBA Range クラスの Page...
-
VBSで変数の宣言はできないので...
-
ADODB.Streamを使用してUTF-8を...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー3001「引数が間違...
-
Invalid procedure call or arg...
-
vbaのvlookup関数エラー原因を...
-
Access2000での未定義関数repla...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
なぜこんな初歩的なVBAのIf文で...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー -'-2147417848
-
【Excel VBA】マクロをボタンに...
-
Outlook.ApplicationをCreateOb...
-
VBAでのエラー
-
マクロについて教えてください...
-
実行時エラー3001「引数が間違...
-
実行時エラー48発生時のDLL特定...
-
VB6+SQL サーバー 2000 で 実行...
-
エクセルエラー13型が一致しま...
-
VBS実行時エラー オブジェクト...
-
ADODB.Streamを使用してUTF-8を...
-
INSERT INTOステートメント構文...
-
VBAで、定数式が必要ですのエラ...
-
OLEDB.NETで接続できない
-
VBSで変数の宣言はできないので...
おすすめ情報