No.2ベストアンサー
- 回答日時:
こんばんは!
>シングルクリックをすることにより・・・
単にセル選択だけだと間違ったセルを選択した場合も同じ動作になりますので、
ダブルクリックでの操作にしてみました。
とりあえずA列すべてを対象としています。
↓のコードをシートモジュールにしてください。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Cancel = True
With Target
If .Value = "" Or .Value = "×" Then
.Value = "□"
ElseIf .Value = "□" Then
.Value = "■"
ElseIf .Value = "■" Then
.Value = "×"
End If
End With
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.5
- 回答日時:
質問者さんが想像している回答とは、掛け離れている感はありますが、こんなのはいかがでしょうか。
まず、A1セルにハイパーリンクを設定します。リンク先はA1セル自身にして、クリックしても自分に戻ってくるようにします。アンダーバーとかが邪魔なのでフォント設定で消します。その上で、下記のWorksheet_FollowHyperlinkイベントプロシジャで表示文字を動的に変更します。
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.Range.Address <> "$A$1" Then Exit Sub
Select Case Target.TextToDisplay
Case "□"
Target.TextToDisplay = "■"
Case "■"
Target.TextToDisplay = "×"
Case Else
Target.TextToDisplay = "□"
End Select
End Sub
最後に独り言ですが、この入力方法って、初めて使う人にとっては迷惑ですよね?まずはリストがあって、さらにオプションとして、これを実装すべきです。
この回答へのお礼
お礼日時:2019/03/14 08:43
思い描いていた通りのことが出来ました。ご回答いただいた皆様をベストアンサーにさせていただきたいのですが、本当にありがとうございました。
No.4
- 回答日時:
出来ますが、
1度 稼働状態に、
入れば、
他の 意図を、
持って、
他の 値を、
示させようと しても、
叶わなく なりますよ?
貴方に 御せますか?
SheetVBAで クリックを、
起点に 動かせば、
良いだけですけど、
如何ですか?
御せますか?
No.3
- 回答日時:
特殊な方法で、シングルクリックを感知する方法もありますが、単純に、ActiveX コントロールのラベルで、
Caption のフォント(Font) を"WingDings" にしてあげれば、ご希望のようになります。
TextBox ですと外周が出てきてしまい、それをフラットにすることができません。
Private Sub Label1_Click()
With Label1
.Font.Name = "WingDings" '念の為 'プロパティで設定すれば不要です。
If .Caption = "x" Then
.Caption = "o"
ElseIf .Caption = "o" Then
.Caption = "n"
ElseIf .Caption = n Then
.Caption = "x"
Else
.Caption = "x"
End If
End With
End Sub
No.1
- 回答日時:
こんにちは
ご質問の処理そのものはさほどでもありませんが、一番の難関が、
>シングルクリックをすることにより~~
>クリックするたびに、~~
でしょうかね。
エクセルの場合、セルのクリックイベントが存在しないので、ユーザのクリックをどうやって感知するのか(あるいはできないのか)という点を解決できるか否かにかかっていると言えると思います。
SelectionChangeである程度までは代用可能ですが、同じセル上でクリックを繰り返しても、2度目以降は感知できないという大きな欠点がありますし。
・・・ということで、以下のような方法を考えてみました。
1)対象シート上に図形を作成し、固有のIDを設定しておく。
(例えばテキストボックスで、固有名を「clickPicker」としておくなど)
2)1)のオブジェクトのクリックイベントに以下の処理を設定しておく
・A1セルの値を、「□、■、×」でトグル表示する
3)ブックのオープン時の自動実行マクロに以下を設定しておく
・clickPickerの存在をチェック(無ければ再作成する。マクロの登録も)
・位置をA1セルに重ね、サイズもA1セルサイズに合わせる
・表示は枠無し、塗り色の透明度を99%に設定
以上の設定をしておくことで、次にブックを開いたとき以後は、疑似的にシングルクリックでセルの値が変化していくような処理を実現できるものと思います。
オブジェクトの透明度を99%にしておくのがミソで、クリックは感知するけれど、表示は下にあるセルの表示内容がそのまま透けて見えるという状態になるので、セルのクリックを感知するためのマスクのような働きを持たせることができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでセルに何らかの文字が入力されたらそれを任意の数値として認識させる方法がしりたいです。 3 2023/03/16 20:19
- Excel(エクセル) 【EXCEL】=セル&セルが上手く表示できない。 7 2022/09/04 21:32
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- Excel(エクセル) DATEVALUE関数がエラーになる 2 2022/07/12 19:30
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- Excel(エクセル) 【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力 3 2023/01/25 00:12
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) セルに入力した小文字アルファベット、数字を大文字表示させるには? 3 2022/07/13 10:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
Microsoft1Officeの互換ソフト...
-
Excel ピボットテーブルで日付...
-
エクセル関数を教えてください
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
LOOKUP関数を使えばいいのでし...
-
エクセル 白黒印刷で白線を印刷...
-
【関数】先頭だけにある、半角...
-
【関数】適切な文字数の数字を...
-
Excelのチェックボックスの使い...
-
エクセルでの作業計算方法について
-
Excelのpivotについて質問です
-
WPS OFFICEでの縦書きについて
-
時間によってファイル名が変わ...
-
エクセルのセルに同じ大きさの...
-
Aというブックの1というシート...
-
エクセルの順位別一覧表の自動...
-
西暦や和暦の表示をyyyymmdd表...
-
【マクロ】エクセルにかいてあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報