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

エクセル2010です。
お願いいたします。

セルをクリックしたら色を変え、またくりっくしたらもと戻す 
というのを したいのですが。

詳しく述べます。

セル範囲 (A1:K1) の範囲で そのセルをクリックしたら 黄色

また 同じセルをクリックしたら 色なし というものに できないでしょうか?
(A1:K1)以外のセルには、その方式は適応させないものとしたい。

または、オートシェイプを A1 A2 A3 A4 A5 A6 A7 A8 A9 の高さ 幅を
ピッタリしたものを 各セルの上に配置して オートシェイプにそれぞれマクロを登録する
形で 同様なものが できてもいいと考えております。

詳しい方アドバイス いただければと 思います。

A 回答 (2件)

セルをクリック,またクリック,というやり方では,マクロを使っても実現する事はできません。



#補足
worksheet_selectionchangeを使った方法についてアドバイスが寄せられていますが,「セルをクリック,同じセルをもう一回クリック」で点滅させるといったことが出来ません。


で。
クリックじゃなくてWクリックで行います。

手順:
新しいシートを用意
シート名タブを右クリックしてコードの表示を選ぶ
現れたシートに下記をコピー貼り付ける

private sub worksheet_beforedoubleclick(byval Target as excel.range, cancel as boolean)
 if application.intersect(target, range("A1:K1")) is nothing then exit sub
 if target.interior.colorindex = xlnone then
  target.interior.color = vbyellow
 else
  target.interior.colorindex = xlnone
 end if
 cancel = true
end sub

ファイルメニューから終了してエクセルに戻る
A1:K1のセル範囲をWクリックする。
    • good
    • 0
この回答へのお礼

keithinさん 回答ありがとうございます。

ダブルクリックで やりたいことができるようになりました。

ありがとうございます。

ANO1さんの コードも もちろん できました。

みなさん ありがとうございます。

つたない知識ですが、コードの理解に努めたいと思います。

お礼日時:2012/01/07 14:12

シートのモジュールに以下はどうでしょうか。



Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Col As Integer

Col = 6


If ActiveCell.Row = 1 And ActiveCell.Column <= 11 Then
If ActiveCell.Interior.ColorIndex = xlNone Then
ActiveCell.Interior.ColorIndex = Col
ElseIf ActiveCell.Interior.ColorIndex = Col Then
ActiveCell.Interior.ColorIndex = xlNone
End If
End If

End Sub
    • good
    • 0
この回答へのお礼

soixanteさん 回答ありがとうございました。

まったく希望していたものが できました。

コードが 現在は理解不能ですが 理解に努めたいです。

お礼日時:2012/01/07 14:07

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

このQ&Aを見た人はこんなQ&Aも見ています