• ベストアンサー

マクロの作成について

マクロ初心者です。 それぞれのセルに1,2,3と数字を入れ、それをマクロで、ショートカットキーによって数字を表示したり消したりする方法が知りたいのですが、どうすればできるのでしょうか。 マクロの記憶をする作業とショートカットキーのやりかたはわかります。 よろしくお願いします。

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

  • ベストアンサー
  • WWolf
  • ベストアンサー率26% (51/192)
回答No.2

こんにちは。 下記コードはシート1の各セルに1~3が点在していると想定し sc1は2と3のフォント書式の色を白にして視覚的に見えなくしています。 sc2は1と3のフォント書式の色を白にして視覚的に見えなくしています。 sc3は1と2のフォント書式の色を白にして視覚的に見えなくしています。 qはリセットです。 意味合いが違えばm(__)m Sub sc1() '2と3を白 Worksheets(1).Cells.Select Selection.Font.ColorIndex = 0 Selection.Replace What:="2", Replacement:="2" _ , ReplaceFormat:=True Selection.Replace What:="3", Replacement:="3" _ , ReplaceFormat:=True Worksheets(1).Range("A1").Select End Sub Sub sc2() '1と3を白 ActiveSheet.Cells.Select Selection.Font.ColorIndex = 0 Selection.Replace What:="1", Replacement:="1" _ , ReplaceFormat:=True Selection.Replace What:="3", Replacement:="3" _ , ReplaceFormat:=True Range("A1").Select End Sub Sub sc3() '1と2を白 ActiveSheet.Cells.Select Selection.Font.ColorIndex = 0 Selection.Replace What:="1", Replacement:="1" _ , ReplaceFormat:=True Selection.Replace What:="2", Replacement:="2" _ , ReplaceFormat:=True Range("A1").Select End Sub Sub q() 'リセット ActiveSheet.Cells.Select Selection.Font.ColorIndex = 0 Range("A1").Select End Sub

e151e
質問者

お礼

ご回答ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 私には、ご質問の意図が良く分かりません。もし、マクロの勉強だったら、以下のようなマクロは、あまり勉強にはならないかもしれません。記録マクロをとって、それを設定用にしたほうがよいです。 SetShortCutKey で、キーを設定するか、ツール-マクロ-マクロ**オプションで設定します。ただし、その場合は、マクロ本体(FontInVisible)は、個人用マクロブック(PEROSNAL.XLS) に登録しなければなりません。 通常、この種のマクロは、だいたいは、コマンドボタン(コントロールツール内)に入れて使います。その場合は、シートモジュールに登録となります。 ''標準モジュール 'ショートカット '--------------------------------- Sub SetShortCutKey()  ''設定用: Ctrl キー(^) + e  Application.OnKey "^e", "FontInVisible" End Sub Sub SetOffShortCutKey()  ''解除用  Application.OnKey "^e" End Sub '----------------------------------- Sub FontInVisible()   Dim c As Range   '本当は範囲を決めたほうがよい 例:Range("A1:A10")   'Selection は、マウスで選択した範囲という意味   With Selection     If StrComp(TypeName(Selection), "Range", 1) <> 0 Then Exit Sub     For Each c In .Cells       '1~3まで       If c.Value > 0 And c.Value < 4 Then         If c. = c.Interior.Color Then           c.Font.ColorIndex = 0 '色戻し         Else           '背景の色とあわせる           c.Font.Color = c.Interior.Color         End If       End If     Next   End With End Sub

e151e
質問者

お礼

ご回答ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

たとえばセルA1,A2,A3に、数字1,2,3を入力してあるとします。 Alt+F11キーを押してVisualBasicEditorを開きます。 「挿入」メニューから「標準モジュール」をクリックして出てきたウィンドウに以下をこぴぺしてみてください。 Sub apdel1() If Range("a1") = "" Then Range("a1") = 1 Else: Range("a1") = "" End If End Sub エクセルに戻って、apdel1というマクロにショートカットを登録します。 同様にセルa2,a3についてもapdel2,apdel3などマクロ名を変えてVBAを記述し、ショートカットを登録しましょう。

e151e
質問者

お礼

ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マクロの初心者

    マクロの超初心者です。 マクロの記録を行ってそのコードを表示し、学習を始めたばかりの初心者です。 A1セルに、数字100が入力されてるとします。 A2セルに、A1セルの数値を取り出して 1 を加えて 表示させるコードはどのようになるのか、どなたか おしえてください。 宜しくお願いします

  • エクセルのマクロについて

    マクロ初心者です。 エクセルであるセルの数値に100掛けた結果を同じセルに表示させたい場合はどういったVBAを使えばいいのでしょう。他のセルに一旦100掛けた数字を入れて、また元のセルに戻すという事は無しで・・ 例えば「0.25」をいうセルにマクロを流して「25.00」(小数点以下の桁数にはこだわりません)に変えたい場合です。

  • マクロについて

    エクセル入門者です。 お聞きしたいのは, (1) 入門~応用まで,マクロをわかりやすく説明しているおすすめのURLがあればおしえてください。 (2) 具体的には,1つのセルに,たとえば「12345」と入力されているものを「1」「2」「3」「4」「5」の数字が,1つのセルに1つだけ入るようにしたいんです。  かつ,「12345」の次の行にはまた別の5桁の数字があり,それもずっとそういう作業をするマクロを組みたいのです。 (1),(2)どちらかでもけっこうですので,どなたかご教授ください。

  • コマンドかマクロをお教えいただけないでしょうか

    「セルの結合」、「セルの分割」のショートカットキーを作りたいと思っています。 コマンドがあればと思って、「ファイル→オプション→リボンのユーザー設定→ユーザー設定→分類」と進んだ画面で探したのですが、探し方が悪かったのかもしれませんがそれらしいコマンドが見つかりませんでした。「セルの結合」、「セルの分割」のコマンドは何でしょうか。 もし、コマンドがない場合は、「セルの結合」、「セルの分割」のマクロをお教えいただけないでしょうか。 ショートカットキーの登録方法、マクロの登録方法は、以前にお教えいただいたので分かります。 Word 2013、Windows 7です。

  • エクセルのマクロを作成したいです

    エクセルのセル「G9~G1508」に1-78までの数字をランダムに表示させるマクロを作成したいです。 一応自分で作成したのですがなんの事やら分からず… どういう記述をすればよろしいのでしょうか?

  • 値の入っているセルをカウントするマクロの作成

    マクロ初心者です。 アクティブセルから一つ上の列に、値が入っているセルが何個あるのかカウントするマクロを作成したいのですが、うまくいかずに困っております。 すみませんが、よろしくお願いします。 参考用画像の解説 【ActiveCell】セルから上の列を範囲指定。 1、2、3と数字が入っているセルが何個あるのかカウント。

  • エクセルのマクロの作成について

    エクセルのマクロの作成について教えてください!! 一つのセルの中に3行の文字があるとして・・・・ そのセルの2行目と3行目を隣のセルにうつしたいです。 例えば・・ E列の1行目のセルに あいうえお かきくけこ さしすせそ と文字が入っていて、 それを F列の1行目のセルに かきくけこ さしすせそ のみ移動させたいです。 1行~300行ほどあって、さらにデータは増え続けます、手作業での移行が困難になってきました。 そもそも一つのセルの中身の文字の一部を違うところに移動させるマクロは組めるのでしょうか。 当方初心者です。お手柔らかにお願いします。

  • EXCELでマクロを初めて実行してみたんですがぁ・・・・

    初めてマクロというものをやってみました。 ただ、動作を記憶させただけです。プログラムは全然知りません。 sheet1の株価4本値と日付を1日だけ繰り上げる 単純な動きです。一番最後のセルにその日の 日付と4本値と入れて、マクロを実行させて、1日だけ繰り上げる 作業です。 それを、Sheet2が「=Sheet1!B2」このような形で参照するように してあるのですが、実行させると、 Sheet2B2のセルが#REF!とかなんとか表示されて B3からしか正しく表示されません。 以後同じことを繰り返すと、どんどん1つずつセルがエラーして 正しく表示されるセルが下がりながら、減っていってしまいます??? なぜなんでしょうか?? また回避策というか、正しい方法はありますでしょうか?? 何卒、初めてなので、わかりやすくお教えいただけると ありがたいです。 よろしくお願いを致します。

  • EXCEL マクロ

    エクセルマクロ初心者です。 エクセル2007で、複数選択したセルの合計値・平均値をコピーできないか悩んでいます。作業によって、選択するセルが変わりますので、セル番地の指定をせずにマクロの書くことができますでしょうか。 イメージとしては、複数のセルを選択をしたときに、ステータスバーにオートカルクで表示される合計値・平均値をクリップボードにコピーし、別のセルに結果をペーストする感じ(ペーストする際に合計値・平均値のどちらを貼り付けるか選択できれば尚、良)です。 個人用マクロブックに登録して、不特定ブックで使用したいマクロです。よい方法があれば教えて下さい。

  • ボタンを使ったマクロの作成

    ボタンを使ったマクロの作成 エクセルでボタンを押すと あるセルの数字に1が加算され そのシートが印刷されるマクロを 恐れ入りますがどなたか教えて(作成して)下さい。 マクロに関しましては まったくわかっておりませんので トンチンカンなことを言い出すかもしれませんが どうぞよろしくお願い致します。

専門家に質問してみよう