おはようございます。あなた様のマクロをチェックしてみました。問題なく動作すると思います。次の3こは削除した方がいいと思います。
・Dim myCmd as Integer
・My Cmd = 1
・Sub myColor の()の中のDim myCmd as Integer
あなた様の書かれたマクロは、どのセルを選択してもコマンドボタンを押すと、C9~AG30・AJ9~BN30のすべてのセルに条件に合った時色がつくという動作をします。
もし、あるセルを選択してコマンドボタンを押した時に選択したセルのみに色がつくという動作をさせたいのであれば、下記のように変更する必要があります。
Private Sub CommandButton1_Click()
If CommandButton1.Caption <> "個別選択" Then
CommandButton1.Caption = "個別選択"
With CommandButton1.Font
.Size = 14
.Bold = True
End With
End If
Call Macro2
Select Case ActiveCell.Value
Case Is = ""
Case Is < -20
ActiveCell.Interior.Color = RGB(200, 100, 230)
Case Is < -10
ActiveCell.Interior.Color = RGB(200, 200, 130)
Case Is < 0
ActiveCell.Interior.Color = RGB(200, 200, 230)
Case Is < 10.5
ActiveCell.Interior.Color = RGB(200, 200, 0)
Case Is < 15.5
ActiveCell.Interior.Color = RGB(0, 200, 200)
Case Is < 20
ActiveCell.Interior.ColorIndex = 43
Case Is < 25
ActiveCell.Interior.ColorIndex = 10
Case Is < 30
ActiveCell.Interior.ColorIndex = 5
Case Is < 35
ActiveCell.Interior.ColorIndex = 6
Case Is < 40
ActiveCell.Interior.ColorIndex = 7
Case Is < 100
ActiveCell.Interior.ColorIndex = 42
End Select
End Sub
1日も早くマクロが完成できますことを陰ながら応援しております。
お礼
何とか、使えそうなマクロになりましたので問題がないかどうか見てもらえれば嬉しいです。 教えてもらった、マクロがなければ、一ヶ月は有にかかっていたと思います。 Private Sub CommandButton1_Click() Dim myCmd As Integer Dim myRange As Range Dim myCell As String myCmd = 1 If CommandButton1.Caption <> "個別選択" Then CommandButton1.Caption = "個別選択" With CommandButton1.Font .Size = 14 .Bold = True End With End If Call Macro2 For Each myRange In Range("C9:AG30") myCell = myRange.Address Call Sheet1.myColor(myCmd, myCell) Next For Each myRange In Range("AJ9:BN30") myCell = myRange.Address Call Sheet1.myColor(myCmd, myCell) Next Call Sheet1.myColor(myCmd, myCell) End Sub Sub myColor(myCmd As Integer, myCell As String) Select Case Range(myCell).Value Case Is = "" Case Is < -20 Range(myCell).Interior.Color = RGB(200, 100, 230) Case Is < -10 Range(myCell).Interior.Color = RGB(200, 200, 130) Case Is < 0 Range(myCell).Interior.Color = RGB(200, 200, 230) Case Is < 10.5 Range(myCell).Interior.Color = RGB(200, 200, 0) Case Is < 15.5 Range(myCell).Interior.Color = RGB(0, 200, 200) Case Is < 20 Range(myCell).Interior.ColorIndex = 43 Case Is < 25 Range(myCell).Interior.ColorIndex = 10 Case Is < 30 Range(myCell).Interior.ColorIndex = 5 Case Is < 35 Range(myCell).Interior.ColorIndex = 6 Case Is < 40 Range(myCell).Interior.ColorIndex = 7 Case Is < 100 Range(myCell).Interior.ColorIndex = 42 End Select End Sub >数字ではなく、セルの枠そのものの色を変えたいのです 解決しました。 >全選択の選択肢を無くし 削除しましたが、これでよかったでしょうか、余分なところを消していないでしょうか。 >他のマクロからサブとして呼び出して このマクロから、他のマクロを呼び出して(Call Macro2)に変えました。 非常に、ありがかたったです。 また質問したときは、よろしくお願いします。
補足
私のために、マクロを組んでくださり、ありがとうございます。 質問の仕方が悪かったのですが、数字ではなく、セルの枠そのものの色を変えたいのです。すみません。これ以外は、私が望んでいたものそのものです。 全選択の選択肢を無くし、個別選択の動作のみとし、他のマクロからサブとして呼び出して使用したいのですが できますでしょうか。 ありがとうございます。もう少し教えてください。