ID非公開

2021/12/15 14:09

33回答

セルをクリックで緑色に、再度クリックで色無しにしたいと思っています。

Excel | Visual Basic90閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

この返信は削除されました

ThanksImg質問者からのお礼コメント

やめたほうがいい理由も教えてくださったためベストアンサーにいたしました。 ありがとうございました。

お礼日時:1/20 14:36

その他の回答(2件)

0

タッチパネルモニタで使えるかどうかはわかりませんが疑似的にセルの色が変わるように見せる方法もあります。下記のコードを標準モジュールに記述し、色を変えたいセルを選択した状態でSetColorBoxを実行してください。 セルと同じ大きさのオートシェイプ(初期状態では見えません)を作成します。オートシェイプをクリックすると緑、再度クリックすると透明と色が変わりセルの色が変わったように見せることができます Sub SetColorBox() Dim r As Range Dim shp As Shape Set r = Selection Set shp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, 0, 0, 0) With shp .Left = r.Left .Top = r.Top .Width = r.Width .Height = r.Height .Line.ForeColor.RGB = RGB(191, 191, 191) 'セルの罫線の色に合わせると違和感がなくなる .Line.Weight = 0.25 .Fill.ForeColor.RGB = RGB(255, 255, 255) .Fill.Transparency = 0.99 .OnAction = "ColorChange" End With End Sub Sub ColorChange() Dim shp As Shape Dim shpName As String shpName = Application.Caller Set shp = ActiveSheet.Shapes(shpName) With shp.Fill If .ForeColor.RGB = RGB(255, 255, 255) Then .ForeColor.RGB = RGB(154, 205, 50) 'rgbYellowGreen .Transparency = 0 Else .ForeColor.RGB = RGB(255, 255, 255) .Transparency = 0.99 End If End With End Sub

1

やめた方がいい ワンクリックということはセルを選択しただけで 色が変わるということですよ 添付のマクロでは セル範囲がしていされていないので、 カーソールが移る度に、全セルに色がつきます。 どうしてもというのなら Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub で できるのでは

1人がナイス!しています