
過去の質問を参考に『セルをダブルクリックすると"○"と入力される』というマクロを○⇒●⇒-⇒ ⇒○⇒・・・として使っているんですが、ダブルクリックの度にセルが直接入力の状態(縦の棒の点滅)になってしまい、一度他のセルをクリックしないと次へ進めずに困っています。
良い方法ってあるのでしょうか?
ちなみに使用しているマクロは
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const rng As String = "A1:A3" '処理対象のセル範囲
If Not Application.Intersect(Target, Range(rng)) Is Nothing Then
If Target.Value = "" Then
Target.Value = "○"
ElseIf Target.Value = "○" Then
Target.Value = "●"
ElseIf Target.Value = "●" Then
Target.Value = "-"
Else
Target.ClearContents
End If
End If
End Sub
というものです。
よろしくお願いします。
No.4
- 回答日時:
こんにちは。
既に回答は出ていますが、今回のような場合はSelect文を使ったほうが見やすいかもそう。。。
'-------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const rng As String = "A1:A3"
If Application.Intersect(Target, Range(rng)) Is Nothing Then Exit Sub
Cancel = True '▲▲▲ これで編集モード解除になる
Select Case Target.Value
Case ""
Target.Value = "○"
Case "○"
Target.Value = "●"
Case "●"
Target.Value = "-"
Case Else
Target.ClearContents
End Select
End Sub
'---------------------------------------------
以上です。
No.3
- 回答日時:
マクロを使わずにこの方法でもできます!
(1)全セルを入力OKに設定する。
全セルを範囲指定→書式→保護→「ロック」のチェックを外し→OK
(2)直接入力だけを禁止したいセルを範囲指定→書式→保護→「ロック」にチェックを入れる→OK・・・2箇所意所の場合は設定を繰り返す。
(3)ツール→保護→シートの保護→OK
上記で設定で、(2)の部分のセルをクリックしても、入力禁止のエラーが発生し入力できない。
指定セルの、入力禁止・計算式やマクロの解除を禁止できる。
No.2
- 回答日時:
こんにちは。
こんな感じにしてください。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const rng As String = "A1:A3" '処理対象のセル範囲
If Application.Intersect(Target, Range(rng)) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Value = "○"
ElseIf Target.Value = "○" Then
Target.Value = "●"
ElseIf Target.Value = "●" Then
Target.Value = "-"
Else
Target.ClearContents
End If
Cancel = True 'ここに入れます。
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) エクセル VBAで複数セル選択時エラーになる問題 3 2022/10/04 02:40
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBAのトグルボタンでのマクロについて質問です 3 2022/10/10 17:23
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
(Excel)数字記入セルの数値の後...
-
セルをクリック⇒そのセルに入力...
-
エクセルで指定したセルのどれ...
-
エクセルのセルの枠を超えて文...
-
エクセル セルの中に縦線が入っ...
-
枠に収まらない文字を非表示に...
-
Excelで数式内の文字色を一部だ...
-
対象セル内(複数)が埋まった...
-
Excelで教えてください。 バー...
-
Excelで住所を2つ(町名迄と番...
-
エクセル オートフィルタで絞...
-
【エクセル】IF関数 Aまたは...
-
エクセルの書式設定の表示形式...
-
excelの特定のセルの隣のセル指...
-
Excel2003 の『コメント』の編...
-
Excel 例A(1+9) のように番地の...
-
数式を残したまま、別のセルに...
-
EXCEL VBA セルに既に入...
-
エクセルの一つのセルに複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
スプレッドシートで複数のプル...
-
excelで日付関数の文字列変換の...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルのセルの枠を超えて文...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
おすすめ情報