エクセル VBA マクロ


以下の①②の動作が可能になるエクセル VBA マクロを
教えて頂きたく宜しくお願い申し上げます。
使用しているエクセルは2003です

①シート上の特定なセル(ex:F33、F34、G33、G34、C40、C41、D40、D41、、、、、)には、
-(マイナス)、小数点を含む数値のみを許可し入力させたい。(出来ればIMEを使用しないで直接入力させたい)

②また、シート上の特定なセル(ex:C3、C4、C5、、、)には、IMEを使用し、漢字を含む文字を入力させたい。

シート上のその他のセルは、保護機能で入力できないようにロックしています

回答の条件
  • 1人10回まで
  • 登録:
  • 終了:2011/12/05 07:50:02

ベストアンサー

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

コメントはしたのですが、作ってもしれていたので、
お返事待たずに両方回答しておきます

(1)-(マイナス)、小数点を含む数値のみを許可し入力させたい
1.設定したいセルを選択(複数選択しておいても良い)
2.メニューバーの「データ」→「入力規則」
3.「設定」で入力値の種類欄に「小数点数」、最小値、最大値を適当に設定
4.「日本語入力」で「オフ」

(2)IMEを使用し、漢字を含む文字を入力させたい
1.設定したいセルを選択(複数選択しておいても良い)
2.メニューバーの「データ」→「入力規則」
3.「日本語入力」で「ひらがな」

上記二つの設定をVBAから実行する例

Sub Macro1()
    ' -(マイナス)、小数点を含む数値のみを許可するセル
    Range("F33:F34,G33:G34,C40:C41,D40:D41").Select
    
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateDecimal, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="-99", Formula2:="+99"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .IMEMode = xlIMEModeOff
        .ShowInput = True
        .ShowError = True
    End With
    
    ' IMEを使用し、漢字を含む文字を入力させるセル
    Range("C3:C5").Select
    '
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator:=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .IMEMode = xlIMEModeHiragana
        .ShowInput = True
        .ShowError = True
    End With
End Sub
  • id:windofjuly
    うぃんど 2011/11/28 08:10:54
    それってVBA使わなくても入力規則ってのを設定してやるだけで出来ますよ
    それとも、VBAで入力規則の設定を一発でやりたいってこと?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません