• ベストアンサー

エクセル・マクロで特定のセルは、いつも半角・数字や日本語入力ができるようにするためには

エクセルで、シートを移動をのマクロを組みました。そして、特定のセルを半角・英数や漢字入力など、いちいち、IMEの切り替え操作を行わなくても自動できるようにしたいのですが、どうしたら良いのでしょうか? 例えば、セルC3を指定したら、必ず半角英数の操作にIMEが自動で切り替わる。Range("C3").Select~???

質問者が選んだベストアンサー

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

SendKeys以外は思いつかない・・・。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'A1セル以外が変更されたら何もしない If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub SendKeys ("{kanji}") End Sub テキストボックスなら簡単なんだけど。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

入力規則の日本語入力の切り替えではダメなのでしょうか?

関連するQ&A

  • エクセルで半角を全角に変えるマクロは?

    ワークシート関数の JIS のようにVBAで「半角英数かな」を「全角英数かな」に変換するにはどのように書けばいいでしょうか? たとえば、Dialogsheets("Dialog1")の Editboxes("ABC")に入力された半角文字をWorksheets("AAA")のセルA1に全角で出す場合です。 変換せずそのままなら Sub test() Sheets("AAA").Range("A1") = DialogSheets("Dialog1").EditBoxes("ABC").Text End Sub だというのはわかりますが。

  • エクセルマクロで特定シートの特定セルの中身取得

    エクセルのマクロで、ファイル選択(GetOpenFilename)で取得したファイルの特定のシート(sheet1等固定のシート名)とそのシートの特定のセル(A1等固定のセル)にある数値を取得し、マクロ起動したエクセルのあるセルに貼り付けたいのですが、どうすればよいでしょうか。 かなり略してますが、 nama=GetOpenFilename で選択したファイルのファイル名を Range("A1") = Dir(name) で貼り付け、その横のセル(A2)に name#sheet!A1を貼り付けたいのです。 ご存知な方、すみませんが教えていただけますでしょうか。 (エクセルは2003です。)

  • エクセルマクロ セルの貼り付けについて

    マクロ初心者でわからないことばかりで困っております。 For i = 1 To 721 Step 80 Sheets("Sheet2").Activate Range("G3").Select ActiveCell.FormulaR1C1 = i Range("A1:D80").Select   Selection.Copy Sheets("Sheet3").Activate このあとにコピーしたもの「Range("A1:D80").Select」をセルに貼り付ける時に一回ごとに80行ずつずらして貼り付けたいのですが、そのような場合は どのようにRange指定して貼り付ければよろしいのですか? sheet2で演算した結果をsheet3のセルA1からA721まで貼り付けたいのです。一回の演算で80行まで計算されます。 わかりずらくて申し訳ありません。

  • エクセルで英数のみを半角に変換するマクロ

    エクセル2003を使っています エクセルで英数のみを半角に変換するマクロの作り方を教えてください。 予め複数のセルを選択しておいて、それらに含まれる文字列の英数のみを半角に(カタカナは全角のまま)変換したいのです。 以前他のサイトで同様の機能のユーザー関数の作り方は見つけたのですが、マクロにする方法がわかりません。 よろしくお願いします。

  • 特定のセルをフィルタするマクロを作りたい

    特定のキーワードが含まれるセルをフィルタするマクロを作りたいです。 使用環境はExcel2010です。 口頭ではわかりにくいので、画像を添付します。 添付画像のように、それぞれの人物名と点数が一覧になった表があります。 特定の名前の人で点数が一定以下の行をフィルターしたいのですが、毎回フィルターで名前を選ぶのが面倒なので、マクロの記録機能で下記のマクロを作成しました。 Selection.AutoFilter ActiveSheet.Range("$A$1:$C$7").AutoFilter Field:=2, Criteria1:="=鈴木", _ Operator:=xlOr, Criteria2:="=田中" ActiveSheet.Range("$A$1:$C$7").AutoFilter Field:=3, Criteria1:="<70", _ Operator:=xlAnd 上記のマクロで、「田中」と「鈴木」のみ、点数が70点に満たなかった行を抜き出しています。 しかし、他部署の人物も調査の対処に含めるため、E2:E7セルに調査したい対象の名前を入れ、自動的にセルに入力された名前でフィルタリングされるようにしたいです。 この際のマクロの記載方法を知りたいです。 *部署によって人数が異なるため、E2:E7セルに入力する名前がすべて埋まるとは限りません。 *実際の名前と点数は毎月新しいExcelブックで送られてくるので、フィルター用のExcelシートにコピーペーストで張り付けて使用予定です。 *記載されている名前や点数は例です。

  • エクセル VBAマクロ セルの単純移動

    基本的な質問ですが、よろしくお願いします。 エクセルのVBAで、Selectセルを1つだけ上下左右に移動させることを ”汎用的に書く”としたらどのようにすれば良いでしょうか? 例えば、Selectセルを一番上や、一番下、へというのであれば、 Selection.End(xlUp).Select Selection.End(xlDown).Select 一番右や、一番左なら、 Selection.End(xlToRight).Select Selection.End(xlToLeft).Select のように書いて、実行できます。 それでは、今いる所のすぐ隣りのセルへ移動させるということを 同じように表現するには、どのようにしたら良いでしょうか。 事の発端は、 マクロの自動記録を使って、セルを移動していっても、 Range("A1").Select Range("B1").Select Range("B2").Select Range("C2").Select Range("C3").Select : のように、絶対セル位置で記録されてしまうため、 同じような処理を順に隣りや後の行・列に向かって繰り返すような処理を 書こうとしたときに、汎用的には動いてくれないところからです。 参考になるページを自力では見つけられませんでした。よろしくお願いします。

  • Excelのマクロで特定のセルに罫線を引きたい

    Excelのマクロで特定のセルに罫線を引きたいのですが、 自分で実行したマクロを確認すると長過ぎてとても見づらいです。 それで調べて下記のようにまとめてみたのですが、 2つのシートをグループ選択する段階で止まってしまいます。 Dim 最終行 As Integer 最終行 = (Range("F65536").End(xlUp).Row) Sheets(Array("Sheet1", "Sheet2")).Select Sheets("Sheet1").Activate ActiveWindow.LargeScroll Down:=1 Range("F1:F" & 最終行).BorderAround LineStyle:=xlNone, _ Weight:=xlThin, _ ColorIndex:=xlAutomatic   With Selection.Borders(xlInsideVertical) End With どちらのシートも同じ列の最終行まで範囲選択することに変わりありません。 シンプルで簡単な書き方はないでしょうか? どうかよろしくお願い致します。

  • エクセルで入力済みのセルのみ見つけて・・

    エクセルで入力済みのセルだけを見つけ出して、 指定した場所に並べる作業をマクロで1発で出来るようにしたいのですが、その方法を教えてください。 シートが37シートあります。(sheetA1~sheetA12,sheetB1~sheetB12,sheetC1~sheetC12,sheet37) それぞれセルC5からC20まで数値が入っていますが、 最終行はC20とは限りません。(sheet37はまとめるためのシートで空白) C15が最終行の場合もあれば、C18が最終行の場合もあります。 各シートそれぞれ最終行が違います。(列は同じですスタートもC5です) 各シートのC列の入力済みのセルの数値をsheet37のB1セルから順番に縦に並べたいのです。 A,B,Cのシート順にC列に入力された数値を縦に並べます。 空白は無しで詰めて並べます。 これを1回の作業でできるマクロを教えてください。 それから入力済みの最終行を見つけ出すマクロの部分を表示して頂けるとありがたいです。 宜しくお願いします。

  • エクセル 全角と半角混在で特定の文字以外削除

    こんにちは。 エクセルのマクロで質問があります。 色々と調べてはいるのですが、 該当するものがないので、質問させて頂きます。 【実行したいこと】 1.全角と半角混在しているのですが、全角英数と半角英数が入っているもの以外を行削除 2.F列の0以下を行削除 3.C列の特定の文字がある時にセルを塗りつぶす 添付させて頂いた画像がサンプル画像です。 相談する人も周りにおらず、困っております。 ご教授頂けたらと思います。 宜しくお願い致します。

  • エクセルのセルに入力文字の制限

    エクセルのセルに文字の制限をしたいのですが、例えばA1セルには半角英数、B1セルにはひらがな、C1セルには半角カタカナという感じでキーボートの半角/全角や英数キーを変更しなくても入力出来る方法がありましたら教えて下さい。宜しくお願いします。