No.2
- 回答日時:
該当のシートでSelectionChangeイベントに処理を書けば
できます。
例としてA1が該当セルの場合の例を書きます。
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column = 1 And Target.Row = 1 Then
If Target.FormulaR1C1 = "○" Then
Target.FormulaR1C1 = ""
Else
Target.FormulaR1C1 = "○"
End If
End If
End Sub
イベントはメニューのシート/マクロ/Visual Basic Editorを起動して、
プロジェクトウィンドウの該当シートをダブルクリック
して出てきたウィンドウの左上のGeneralを
Worksheetに変更して右上のコンボボックスをSelectChangeにすれば表示されます。
ありがとうございます。
上手く行ったのですが、jindonさんのダブルクリックの入力が一番使いやすかったのでそちらを1位にしてしまいました。
本当にありがとうございます。
No.3
- 回答日時:
VBA(シートオブジェクトのSelectionChangeイベント)を使用すれば、ご希望の要件が満たせると思います。
ただ、この方法でいくと、普通にセルを選択したい場合との切り分けにちょっと一考が必要ですね。
→ ○は指定した列のみ とか。
ご提案ありがとうございます。
お陰様でjindonさんが、良い案を出してくれました。
確かにセルを移動しただけで入力されるので、ちょっとコツが必要で選択だけでは使いにくかったです。
本当にありがとうございます。
No.4
- 回答日時:
#3さんの仰るとおりだと思いましたので、
ダブルクリック時に作動するということで、
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Value = "○" Then
.Value = ""
Else
.Value = "○"
End If
End With
End Sub
エクセル画面より Alt+F11 でVBEを起動して左側画面より該当シートのアイコンをダブルクリックして、
右側画面の空白部分にコピー+ペーストして下さい。
この回答への補足
ありがとうございます。皆さんのを試したのですが、一番jindonさんのものが、使いやすく便利でした。(^^)
ところで、この動作を行う、セルの範囲を決めるにはどのようにしたらよいのでしょうか?
No.5
- 回答日時:
リストボックスとClickイベント利用。
(1)リストボックスを(例えば)Sheet1上に1つはりつける(コントロールツールボックスから)。
(2)リストボックス(エディトモードで)内で、マウスの右クリック。
(3)プロパテイをクリック。
(4)ListFillRangeの行に例えば
G1:G6といれる。プロパティボックスをXで脱出。
項目選択肢5+空白1の場合。
(5)シートのG1:G6に例えば
東京
大阪
名古屋
福岡
札幌
(空白)
を入力する。
(6)リストボックス(エディトモードで)内で、マウスでダブルクリック。
(7)VBE画面になり
Private Sub ListBox1_Click()
End Sub
と出るから、中間の行に下記コード1行をいれる。結果
Private Sub ListBox1_Click()
ActiveCell = ListBox1.List(ListBox1.ListIndex)
End Sub
(8)デザインモードを脱する。
(9)Sheet1に戻り、
値をセットしたいセルをクリックしておいて、リストボックスのどれかを選択してクリックすると、その値がセットされる。
(10)消したい時は、消したいデータが入っているセルをクリックして、リストボックスの6番目の空白をクリックすると、消したいデータが入っているセルは空白になります。
私の書き方が悪かったでしょうか、ちょっと内容が違っていまして、たった2種類の選択なので、いちいち(1)セルをクリック(2)ドロップダウンを開く(3)選択するという作業が面倒なので、1クリックで○と空白が入力できないかなと思ったわけです。
でも、他に使えそうなので感謝です。ありがとうございます。
No.6ベストアンサー
- 回答日時:
jindonです
>この動作を行う、セルの範囲を決めるにはどのようにしたらよいのでしょうか?
Target.Row で行を指定
Target.Column で列を指定します。
例:全てコード中の With Target のすぐ下に..
1. 絶対位置を指定する(A1を想定)
If .Row=1 And .Column=1 Then....
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Row=1 And .Column=1 Then
If .Value = "○" Then
.Value = ""
Else
.Value = "○"
End If
End If
End With
End Sub
2. 列を指定(A列を想定)
If .Column=1 then....
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Column=1 Then
If .Value = "○" Then
.Value = ""
Else
.Value = "○"
End If
End If
End With
End Sub
3. 指定した列以外(A列を想定)
If .Column<>1 then....
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Column<>1 Then
If .Value = "○" Then
.Value = ""
Else
.Value = "○"
End If
End If
End With
End Sub
And と Or を使用して範囲を指定できます。
ありがとうございます。お陰様で大変良い物が出来ました。(^^)
使用する人が大変気に入っておりました。
本当にありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) データ入力規則リスト 空白を無視 3 2022/07/13 15:11
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Excel(エクセル) Excelのプルダウンメニューの内容を人によって可変する方法 2 2023/03/28 14:52
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
Excel > ピボットテーブル「(空...
-
関数TRANSPOSEで空白セルを0に...
-
エクセルでCSVを編集するとき、...
-
「データ要素を線で結ぶ」がチ...
-
数式による空白を無視して最終...
-
エクセル 連番が途切れていると...
-
Excel:関数が入っているセルに...
-
《Excel2000》SUMPRODUCT関数で...
-
空白を0とみなす関数
-
エクセルのグラフで式や文字列...
-
エクセルで上の行の値を自動的...
-
エクセルで数式の入ったセルの...
-
【Excel】 csvの作成時、空白セ...
-
空白セル内の数式を残したまま...
-
SUMIFS関数で「計算式による空...
-
エクセル VLOOKUP関数 日付は日...
-
OpenOfficeで空白セルの削除方法
-
形式貼り付けの「空白を無視す...
-
excel2010 空白セルにのみ貼り...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
数式による空白を無視して最終...
-
エクセルでCSVを編集するとき、...
-
ピボットテーブルで空白セルの...
-
excel2010 空白セルにのみ貼り...
-
Excel > ピボットテーブル「(空...
-
空白セル内の数式を残したまま...
-
「データ要素を線で結ぶ」がチ...
-
エクセルで、「複数のセルの中...
-
Excelで、入力文字の後に自動で...
-
エクセル 連番が途切れていると...
-
《Excel2000》SUMPRODUCT関数で...
-
SUMIFS関数で「計算式による空...
-
【Excel】 csvの作成時、空白セ...
-
形式貼り付けの「空白を無視す...
-
Excel:関数が入っているセルに...
-
リンク先が空白若しくはゼロの...
-
エクセルで上の行の値を自動的...
-
エクセルにて負の時間を0:00と...
-
エクセルのグラフで式や文字列...
おすすめ情報