- ベストアンサー
エクセルのマクロのボタン機能で文字と色の同時入力の方法
いつもお世話になっております。 大変あつかましい質問ですがどうぞお願いします。 マクロのボタンで色を塗ることはできるのですが、色と文字を同時にひとつのボタンで入力をする方法(プログラム)を教えていただきたいです。たとえば青く塗ったセルに「10:00」と表示できるボタンを作りたいです。 もうひとつお願いします。 たとえばRange(Cells(1, 1), Cells(10, 10))の場合A1からJ10になるとおもうのですが、マウスで選択した範囲のみボタンの命令が働くようにするにはどうしたらよいのでしょうか? よろしくお願いします。
- みんなの回答 (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
お礼
早速の回答ありがとうございます!! macro3を利用させていただきます。 私のしたかったことがそのものが可能です。 見事にかなったのでうれしい限りです。 このたびはありがとうございました。