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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ドロップダウンリスト 自動表...
-
エクセルVB ポップアップウィ...
-
Excelについて
-
autocad 数値が表示されなくな...
-
ドロップダウンリストを2列で...
-
エクセルの質問です。 行数の最...
-
エクセルで半角カナや特殊文字...
-
EXCEL VBAの入力規則で小数点桁...
-
ACCESSで日付型のフィールドにY...
-
小数点以下の入力規則
-
pdfの文字入力で一文字ずつしか...
-
筆王2004にない人名漢字を...
-
筆ぐるめでの外字入力
-
エクセルで入力規則(リスト)...
-
DocuWorksでのスキャンデータ取...
-
エクセルの入力規則のプルダウ...
-
Excelで日報を自動で作成したい...
-
VBAの日付チェックでオーバーフ...
-
特殊漢字「はし」(橋のつくり...
-
筆ぐるめ 特殊文字の入力
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについて
-
ドロップダウンリスト 自動表...
-
ドロップダウンリストを2列で...
-
VBAの日付チェックでオーバーフ...
-
autocad 数値が表示されなくな...
-
excelのInputBoxで日本語入力OF...
-
特殊漢字「はし」(橋のつくり...
-
マクロ 入力規則は残し文字の...
-
エクセル 日付超過でポップアッ...
-
エクセルVB ポップアップウィ...
-
autocadLTで添え字文字
-
EXCEL VBAの入力規則で小数点桁...
-
エクセルで半角カナや特殊文字...
-
pdfの文字入力で一文字ずつしか...
-
エクセルの入力規則のプルダウ...
-
バーコードリーダーを使ってフ...
-
求人情報で「SAP入力可能な方」...
-
小数点以下の入力規則
-
excelで第二金曜日を…
-
Excelで日報を自動で作成したい...
おすすめ情報