勤務表作成してます。
A1に「ON・OFF」を表示します。
「ON」のときに、ダブルクリックで、上のセルを表示、右クリックで「1」を表示します。
「OFF」のときは、コンテキストメニュ-(通常の操作)が出来るようにしたいのですが、ON.OFFの切り替え操作のVBAがわかりません。
よろしくお願いします。
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ActiveCell = ActiveCell.Offset(-1, 0).Value
If Target = Range("$A$1") Then
Cancel = True
If Range("$A$1").Value = "イベントON" Then
Range("$A$1").Value = "イベントOFF"
Else
Range("$A$1").Value = "イベントON"
End If
If Range("$A$1").Value = "イベントOFF" Then
Exit Sub
End If
End If
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
ActiveCell = "1"
' If Target = Range("$A$1") Then
' Cancel = True
'
' If Range("$A$1").Value = "イベントON" Then
' Range("$A$1").Value = "イベントOFF"
' Else
' Range("$A$1").Value = "イベントON"
' End If
If Range("$A$1").Value = "イベントOFF" Then
Exit Sub
End If
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ONとOFFの値をcommandbuttonやオートシェープ
もしくは画面から見えないセルなどに保持すれば
あまり悩むことなくできると思いますが・・・
あと、cancelを実行するタイミングは
どの命令の前か後か、プロシージャを抜けるまたは
終了するときにcancelをどうすればいいのか
よく考えてみてください。
適当に書き始めてそれにこだわると
解決方法がわからなくなりがちです。
早速の回答ありがとうございます。
Commandbuttonの方法もあるのですね。
まだ、初歩なので、考えてみます。
ありがとうございました。
No.2
- 回答日時:
こんな感じで
ON.OFFの切り替えは片方でよいと思うので
どちらか削ってください
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then
Select Case Target.Value
Case "イベントON"
Target.Value = "イベントOFF"
Case "イベントOFF"
Target.Value = "イベントON"
End Select
Cancel = True
Exit Sub
End If
If Range("A1").Value = "OFF" Then Exit Sub
If Target.Row = 1 Then Exit Sub
Target.Value = Target.Offset(-1).Value
Cancel = True
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then
Select Case Target.Value
Case "イベントON"
Target.Value = "イベントOFF"
Case "イベントOFF"
Target.Value = "イベントON"
End Select
Cancel = True
Exit Sub
End If
If Range("A1").Value = "OFF" Then Exit Sub
Target.Value = 1
Cancel = True
End Sub
参考まで
No.3
- 回答日時:
#2の修正です
両方イベントの
>If Range("A1").Value = "OFF" Then Exit Sub
を
If Range("A1").Value = "イベントOFF" Then Exit Sub
へ変更してください
ごめんね
hige_082様
いつも詳しくご回答ありがとうございます。
同内容を質問しないように注意します。
回答いただいた、VBAを操作いたしますと、イベントON、OFF関係なしに
右クリックで「1」を入力、ダブルクリックで上のセルを入力いたします。「OFF」のとき、通常の操作、「ダブルクリックではカーソル表示、右クックでコンテキストメニュー表示したいのですが、可能でしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAのトグルボタンでのマクロについて質問です 3 2022/10/10 17:23
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Vba 実数および実数タイプの変...
-
Excelのマクロについて教えてく...
-
VBA レジストリの値の読み方に...
-
Excel VBA 定義されたプロージ...
-
Excel マクロについての相談
-
エクセルVBAについて
-
Vba SelStart、SelLen教えてく...
-
エクセルの合計を自動で表示さ...
-
Excelのマクロでワードのテキス...
-
Excelについて
-
2つのマクロでチェックボックス...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBAの質問になります Userform内で
-
VBA listBoxから
-
VBAで各列の"+"と"o"の合計数を...
-
VBA初心者 Ctrl+での操作、ボタ...
-
VBA 複数条件の分岐処理の上手...
-
VB.net(VB)で、フォームにExcel...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
【VBA】マクロの入ったファイル...
-
VBA 複数条件の分岐処理の上手...
-
現在のブックを閉じないで、マ...
-
VBAで各列の"+"と"o"の合計数を...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ユーザーフォームに別シートか...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
エクセルのマクロについて教え...
-
VBA listBoxから
-
Excelのマクロについて教えてく...
-
エクセルのマクロについて教え...
おすすめ情報