アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルで任意のセルをクリックしたらセルが塗りつぶしが出来、塗りつぶされているセルをクリックすると、塗りつぶし無しになるようにするには、どうしたらよいでしょう。
教えてください。
マクロでやると、ショートカットキーを押すか、マクロの実行をやらないと出来ないのですが、クリックするだけで出来るようにしたいのです。

A 回答 (2件)

こんにちは。

KenKen_SP です。

VBA でやるしかないですね。

シングルクリックでやれなくはないですが、負荷が大きすぎます。そこで、
ダブルクリックで VBA が実行される仕様にしてあります。

【手順】
1. Excel 画面下のシート選択タブ上で右クリック
2. [コードの表示]メニューをクリック
3. 2.により Visual Basic Editor が起動(以下 VBE )
4. 開いたスペースに下記のコードをコピー&ペースト
5. VBE を閉じる

'----ここから------------------------------------------------------

Private Sub Worksheet_BeforeDoubleClick( _
  ByVal Target As Range, Cancel As Boolean)

  Dim myColorIdx As Long
  
  '着色する色の番号 34:薄い水色
  myColorIdx = 34
  
  With Target.Interior
    If .ColorIndex = xlNone Then
      .ColorIndex = myColorIdx
    Else
      .ColorIndex = xlNone
    End If
  End With
  'Dbクリックでセル編集モードにしたいなら、次行の先頭に’をつける
  Cancel = True

End Sub

'--------------------------------------------ここまで--------------

上記のコードは貼り付けたシートでのみ有効です。ブック内の全ての
シートで実行したいのなら、ThisWorkbook を使います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
思っていた通りのものが出来て感激です。
とても助かりました。

お礼日時:2005/07/01 00:25

Private Sub Worksheet_SelectionChange(ByVal Target As Range)


If Target.Interior.ColorIndex = xlNone Then
Target.Interior.Color = vbYellow
Else
Target.Interior.ColorIndex = 0
End If
End Sub
Sheetのセレクションチェンジイベントに上記を貼り付ける。
同じセルを続けてクリックしても消えないので別のセルに一旦移って、戻り
移ったセルへ消しに行く不便さはありますが、普通に順々にクリックするには差し支えない。
    • good
    • 1
この回答へのお礼

ありがとうございました。
希望どうりのものができました。
とても助かりました。

お礼日時:2005/07/01 00:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!