シート全体を入力規則でひらがな入力するvbaコードを実行したいのですが
Sub Macro2()
With Cells.Validation
.Delete
.IMEMode = xlIMEModeHiragana
End With
End Sub
これだと実行時エラー1004が発生するのですが、何かが間違ってると思うのですが、
どこが変でしょうか?
ご教授よろしくお願いします。
説明が下手で申し訳ございませんが、宜しくお願い致します。
sheet(1)に20個のボタンがあります。
ボタンをクリックすると、別のシートが開きます。
開いたシートにも複数のボタンがあり、そのうちの任意のボタンをクリックすると、そのボタンの値がsheet(1)のそれぞれのボタンに対応したセルに入力される、という動作を実現したいと思っています。
現状、下記のようなコードで目的の動作は実現できてはいるのですが、各ボタンそれぞれにシートを作っているような状況です。(データ自体は全く同じ内容のものが、計20シート)
たぶん、もの凄く頭の悪い事をやっているんだろうと思います。
sheet(1)を除いた各シートの入力データ自体は全く同じなので、シート一枚で出来るんじゃないのかなと思い、ネットや本で調べながら色々試してみたのですが、どうも上手く行きません。データが同じでも、sheet(1)のクリックしたボタンによって入力するセルを変えなければならないのが問題です。
sheet(1)のボタンとセルの関連付けや、sheet(1)のどのボタンを押したのかの判別ができればいいのかなと思って調べてみても、初心者にはよく理解できず、もう何週間もチャレンジしているのですがお手上げです。
上級者の方の知恵をお借りできれば幸いです。
Sub sheet2を開く()
Worksheets(2).Select
End Sub
Sub 入力1()
Worksheets(1).Range("F8") = "データ1"
Worksheets(1).Select
End Sub
Sub 入力2()
Worksheets(1).Range("F8") = "データ2"
Worksheets(1).Select
End Sub
Sub 入力3()
Worksheets(1).Range("F8") = "データ3"
Worksheets(1).Select
End Sub
Sub sheet3を開く()
Worksheets(3).Select
End Sub
Sub 入力1()
Worksheets(1).Range("H8") = "データ1"
Worksheets(1).Select
End Sub
Sub 入力2()
Worksheets(1).Range("H8") = "データ2"
Worksheets(1).Select
End Sub
Sub 入力3()
Worksheets(1).Range("H8") = "データ3"
Worksheets(1).Select
End Sub
Sub sheet4を開く()
Worksheets(3).Select
End Sub
Sub 入力1()
Worksheets(1).Range("M8") = "データ1"
Worksheets(1).Select
End Sub
Sub 入力2()
Worksheets(1).Range("M8") = "データ2"
Worksheets(1).Select
End Sub
Sub 入力3()
Worksheets(1).Range("M8") = "データ3"
Worksheets(1).Select
End Sub
・
・
・
・
・
シート上のアクティブエックスコントロールのコマンドボタンで、
自身のコントロール名を取得するコードを押してください。
Private Sub CommandButton1_Click()
MsgBox Me.ActionControl.Name
End Sub
だと、エラーになってしまいます。
「CommandButton1」を返したいです