[[20250718141801]] 『VBA Validationで型が一致しませんのエラー』(えく) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『VBA Validationで型が一致しませんのエラー』(えく)

VBAでドロップダウンリストを作成するとき、
直前で画像を選択している状態だと、型が一致しませんのエラーが出ます

これを回避するには直前で、別セルをSelectすればできるんですが
興味本位なんですがSelectを使わずにすむいい方法ありませんか?

なんで画像を選択している状態かというと直前の動作として
別シートの画像をコピーして対象のシートに貼り付けということを行っているからです

以下で再現できるとおもいます

・Sheet1とは別にTestシートを用意
・TestシートのH2セルに「TRUE」、H3セルに「FALSE」を入力
・Sheet1セルに「Plate」と名付けた図形を用意
・以下のマクロを実行

Sub Test()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Worksheets(1)
    ws.Shapes.Range(Array("Plate")).Select
    ' 別セルを選択すれば回避可能
    'ws.Cells(2, 2).Select
    With ws.Range(ws.Cells(1, 1), ws.Cells(5, 1)).Validation
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=Test!$H$2:$H$3"
        .IgnoreBlank = True
        .InCellDropdown = True
    End With
End Sub

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


https://vba-create.jp/vba-validation-select-error/#google_vignette
を参考にしてみてください。
(匿名) 2025/07/18(金) 15:52:37

他のロジックをいじったときに、ここで急にエラーが出始めたので
理由がわかんなかったんですが、参考HP見ながら考えてたらわかりました

今まではシートを追加後に、他のシートの表示/非表示をしていたので
別シートがActiveになってましたが、ロジックいじって
シートを追加後に、そのシートに画像を貼った後ドロップダウンリストを作成しようとしたので
エラーになってました

しょうがないので、作成前にSelectするか別シートをActiveにしようと思います

本件クローズで(^^♪
(えく) 2025/07/18(金) 16:18:12


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.