• ベストアンサー

エクセルのマクロのボタン機能で文字と色の同時入力の方法

いつもお世話になっております。 大変あつかましい質問ですがどうぞお願いします。 マクロのボタンで色を塗ることはできるのですが、色と文字を同時にひとつのボタンで入力をする方法(プログラム)を教えていただきたいです。たとえば青く塗ったセルに「10:00」と表示できるボタンを作りたいです。 もうひとつお願いします。 たとえばRange(Cells(1, 1), Cells(10, 10))の場合A1からJ10になるとおもうのですが、マウスで選択した範囲のみボタンの命令が働くようにするにはどうしたらよいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • pauNed
  • ベストアンサー率74% (129/173)
回答No.1

こんにちは。 Excelには、便利な[新しいマクロの記録]というマクロ自動記録があります。 それを参考にしてみてください。 >色と文字を同時にひとつのボタンで入力 >青く塗ったセルに「10:00」と表示 とは、解釈が分かれるような気がしますが? Activeなセルに対して青く塗ると同時に 10:00 と入力...なら Sub Macro1()   ActiveCell.Interior.ColorIndex = 41   ActiveCell.Value = "10:00" End Sub ですが。 既に青く塗ってあるセル全てに 10:00 と入力なら Sub Macro2()   Dim r As Range   For Each r In ActiveSheet.UsedRange     If r.Interior.ColorIndex = 41 Then       r.Value = "10:00"     End If   Next r End Sub とか。 >マウスで選択した範囲のみボタンの命令が働くようにするには マウスで選択した範囲全てに何らかの処理を行うのですか? その場合は Sub Macro3()   If TypeName(Selection) = "Range" Then     Selection.Interior.ColorIndex = 41     Selection.Value = "10:00"   End If End Sub とか。 そうではなくて、いくつかのセルに対して、何らかの処理を行うマクロを実行する時、 Selection範囲から外れていたら実行しないという事であれば、 「いくつかのセル」をどうやって指定するか、が少し面倒ですけど? Sub Macro4()   Dim r As Range   Dim ri As Range   If TypeName(Selection) = "Range" Then     Set r = Selection     On Error Resume Next     Set ri = Application.InputBox("どこ?", Type:=8)     On Error GoTo 0     If Not ri Is Nothing Then       Set ri = Intersect(ri, r)       If Not ri Is Nothing Then         ri.Interior.ColorIndex = 41         ri.Value = "10:00"       End If       Set ri = Nothing     End If     Set r = Nothing   End If End Sub

original8
質問者

お礼

早速の回答ありがとうございます!! macro3を利用させていただきます。 私のしたかったことがそのものが可能です。 見事にかなったのでうれしい限りです。 このたびはありがとうございました。

関連するQ&A