
VbaでA列のみ入力規則でひらがなにしたいのですが、
Sub test()
With Columns(“a”).Validation
.Delete
.IMEMode = xlIMEModeHiragana
End With
End Sub
にすると、実行時エラー1004になります。
.Delete
.Add Type:=xlValidateInputOnly
.IMEMode = xlIMEModeHiragana
にすると、問題ないです。
.Add Type:=xlValidateInputOnly
がどういう意味なのか知りたいのですが
Validationのヘルプを見ても、
Add Typeに関する記載がありません。
なぜ、Add Typeがないとエラーになるのでしょうか?
No.2ベストアンサー
- 回答日時:
すみません。
#1です。編集ミスに気が付きました。誤)
' ' ==============================
以上の説明から、
入力規則の設定に関しては
(Validation.)Add メソッド
(Validation.)Delete メソッド
各プロパティ設定
の順番に処理していく必要があるります。
' ' ==============================
正)
' ' ==============================
以上の説明から、
入力規則の設定に関しては
(Validation.)Delete メソッド
(Validation.)Add メソッド
各プロパティ設定
の順番に処理していく必要があるります。
' ' ==============================
以上、訂正をお願いします。
失礼しました。
No.1
- 回答日時:
こんにちは。
さっそく説明です。
> なぜ、Add Typeがないとエラーになるのでしょうか?
(Validation.)Add メソッド
指定された範囲に入力規則を追加します。
(Validation.)Delete メソッド
指定された範囲のオブジェクト(入力規則)を削除します。
' ' ==============================
' ご提示のコード
' # エラーソース
' ' ==============================
Sub test()
With Columns("a").Validation
' 入力規則(Validationオブジェクト)を削除します
.Delete
' 削除したオブジェクトのプロパティ設定は出来ません
' プロパティ設定をするべきオブジェクトが見つからないので
' エラーになります。
.IMEMode = xlIMEModeHiragana
End With
End Sub
' ' ==============================
' A列に入力規則を(入力モードのみ設定し)追加します
' 日本語入力(IME)の設定をひらがなにします
' # 正しいやり方。
' ' ==============================
Sub Re8091146a()
With Columns("a").Validation
' 入力規則(Validationオブジェクト)を削除します
' 入力規則は二重に設定することはできません
' Delete メソッドは入力規則が見つからなくてもエラーになりません
' Add する為には一旦、Delete メソッドを実行する必要があります
.Delete
' A列に入力規則を(入力モードのみ)追加します
.Add Type:=xlValidateInputOnly
' 日本語入力(IME)の設定をひらがなにします。
.IMEMode = xlIMEModeHiragana
End With
End Sub
' ' ==============================
' A列に既存の入力規則(入力モードのみ設定済)に対して
' 日本語入力(IME)の設定をひらがなに変更します。
' # A列すべてに入力規則設定済であることが"確実"な場合のみ
' ' ==============================
Sub Re8091146a()
With Columns("a").Validation
' 日本語入力(IME)の設定をひらがなにします
' A列に入力規則がない場合
' A列に入力規則が設定されていないセルが含まれる場合
' エラーになります。
.IMEMode = xlIMEModeHiragana
End With
End Sub
' ' ==============================
以上の説明から、
入力規則の設定に関しては
(Validation.)Add メソッド
(Validation.)Delete メソッド
各プロパティ設定
の順番に処理していく必要があるります。
' ' ==============================
> Add Type:=xlValidateInputOnly
> がどういう意味なのか知りたいのですが
> Validationのヘルプを見ても、
> Add Typeに関する記載がありません。
まず、ヘリプから引用。
' ' ==以下引用========================
Validation.Add メソッド
指定された範囲に入力規則を追加します。
構文
式.Add(Type, AlertStyle, Operator, Formula1, Formula2)
式 Validation オブジェクトを表す変数です。
パラメーター
名前 必須/オプション データ型 説明
Type 必須 XlDVType 入力規則の種類を指定します。
AlertStyle オプション バリアント型 (Variant) 入力規則でのエラーのスタイルを指定します。使用できる定数は、XlDVAlertStyle クラスの xlValidAlertInformation、xlValidAlertStop、xlValidAlertWarning のいずれかです。
Operator オプション バリアント型 (Variant) データ入力規則の演算子を指定します。使用できる定数は、XlFormatConditionOperator クラスの xlBetween、xlEqual、xlGreater、xlGreaterEqual、xlLess、xlLessEqual、xlNotBetween、xlNotEqual のいずれかです。
Formula1 オプション バリアント型 (Variant) データ入力規則での条件式の最初の部分を指定します。
Formula2 オプション バリアント型 (Variant) データ入力規則での条件式の 2 番目の部分を指定します。引数 Operator が xlBetween または xlNotBetween 以外の場合、この引数は無視されます。
備考
Add メソッドに必要な引数は、入力規則の種類によって異なります。入力規則の種類を表す定数と必要な引数は次のとおりです。
入力規則の種類 引数
xlValidateCustom 引数 Formula1 を必ず指定します。引数 Formula2 は無視されます。引数 Formula1 には、データ入力が有効な場合は True に評価され、データ入力が無効な場合は False に評価される式を指定する必要があります。
xlInputOnly AlertStyle、Formula1、または Formula2 を使用します。
xlValidateList 引数 Formula1 を必ず指定します。引数 Formula2 は無視されます。引数 Formula1 には、コンマで区切った値の一覧またはこの一覧へのシート参照を指定する必要があります。
xlValidateWholeNumber、xlValidateDate、xlValidateDecimal、xlValidateTextLength、または xlValidateTime 引数 Formula1 と引数 Formula2 のどちらかを指定する必要があります。両方を指定することもできます。
' ' ==以上引用========================
確かに ↑ 解り難いですね。
言葉で説明しても混乱すると思うので
Excelメニューとの対応で確認してみて下さい。
# 以下、私がまとめたもの。
' ' ==============================
Validation.Add メソッドの(名前付き)引数Type
に設定可能な値[Excel.XlDVType]は以下8種
[データの入力規則]ダイアログ
+「設定]タブ
++【入力値の種類】
【整数】
xlValidateWholeNumber
【小数点数】
xlValidateDecimal
【リスト】
xlValidateList
【日付】
xlValidateDate
【時刻】
xlValidateTime
【文字列(長さ指定)】
xlValidateTextLength
【ユーザー設定】
xlValidateCustom
[データの入力規則]ダイアログ
+「日本語入力]タブ
++【日本語入力】
xlValidateInputOnly
' ' ==============================
日本語入力以外 の 7種類の規則 を設定しない場合
つまり
日本語入力モード のみ 設定する場合
は、
.Add Type:=xlValidateInputOnly
という覚え方でいいと思います。
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA シート上にドロップダウンリストを作り、予め指定値をセットしたいのですが 1 2023/03/25 15:15
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
- Excel(エクセル) エクセルVBAで次の二つを行いたいのですが思うように動きません。どう修正したらよいのでしょうか? 2 2023/04/22 14:55
- Visual Basic(VBA) エクセルVBAで以下のようなコードを書いたらエラーになりました。何処が間違っているの教えて? 1 2023/02/10 18:30
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ドロップダウンリスト 自動表...
-
Excelについて
-
autocad 数値が表示されなくな...
-
エクセルVB ポップアップウィ...
-
バーコードリーダーを使ってフ...
-
エクセル 日付超過でポップアッ...
-
excelのInputBoxで日本語入力OF...
-
ACCESSで日付型のフィールドにY...
-
マクロ 入力規則は残し文字の...
-
JWCADの質問
-
求人情報で「SAP入力可能な方」...
-
ドロップダウンリストを2列で...
-
小数点以下の入力規則
-
Excelで日報を自動で作成したい...
-
博子の旧字体を入力するには
-
エクセル COUNTIF関数 検索条...
-
excelで第二金曜日を…
-
特殊漢字「はし」(橋のつくり...
-
バーコードリーダーで読み取っ...
-
アクセス2000 クエリ抽出でBet...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ドロップダウンリスト 自動表...
-
autocad 数値が表示されなくな...
-
Excelについて
-
ドロップダウンリストを2列で...
-
VBAの日付チェックでオーバーフ...
-
エクセルVB ポップアップウィ...
-
Excelで日報を自動で作成したい...
-
マクロ 入力規則は残し文字の...
-
excelのInputBoxで日本語入力OF...
-
求人情報で「SAP入力可能な方」...
-
バーコードリーダーを使ってフ...
-
エクセルで半角カナや特殊文字...
-
エクセルの質問です。 行数の最...
-
アクセス2000 クエリ抽出でBet...
-
小数点以下の入力規則
-
確定申告の医療費控除について
-
特殊漢字「はし」(橋のつくり...
-
エクセル 日付超過でポップアッ...
-
excelで第二金曜日を…
-
autocadLTで添え字文字
おすすめ情報