VBA初心者です。エクセル(2003)のVBAについて質問です。
セルに何か値が入力されたら、隣のセルに「TRUE」と入力し、
入力が消去されたら、隣のセルに「FALSE]と入力されるマクロを作成しています。
下記のコードをシートモジュールに入力し、
標準モジュールにはそれぞれ呼び出し用のマクロを入力しています。
A列とB列は結合されていて、その結合されたA・B列のセルに値が入力されたり消去されたりすると
隣のC列に結果が入力されるようにしたいのですが、
A・B列の値をDeleteキーで消去するとエラーになってしまいます。
BSキーで値を消去するとエラーは出ません。
Deleteキーでもエラーが出ない様にする方法はありますでしょうか。
どなたかご教授お願いします。
-----------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B1,A3:B3,A5:B5")) Is Nothing Then
If Target.Value <> "" Then
Select Case Target.Address(0, 0)
Case "A1"
Call マクロ1_TRUE
Case "A3"
Call マクロ3_TRUE
Case "A5"
Call マクロ5_TRUE
End Select
ElseIf Target.Value = "" Then
Select Case Target.Address(0, 0)
Case "A1"
Call マクロ1_FALSE
Case "A3"
Call マクロ3_FALSE
Case "A5"
Call マクロ5_FALSE
End Select
End If
End If
End Sub
No.1ベストアンサー
- 回答日時:
こんにちわ
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address(0, 0)
If Intersect(Target.Cells(1), Range("A1:B1,A3:B3,A5:B5")) Is Nothing Then Exit Sub
If Target.Cells(1).Value <> "" Then
・・・
・・・
上の例のように、MsgBox Target.Address(0, 0)を加えて、
DeleteキーとBSキーでの動作の違いを見てください。
そして、次のようにすべて書き換えてください。
Target → Target.Cells(1)
素早い回答ありがとうございます!
エラーが出ない様に出来ました。
メッセージボックスには、Deleteキーを押した時には
結合した2つのセルが表示されました。
Target.Cells(1)とは結合したセルのうちの
1番目を指定しているという事でしょうか。
本当に助かりました!これからもっとVBAを勉強します。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) 【再投稿】VBAで動作しなくて困っています 2 2022/10/11 11:05
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
- Visual Basic(VBA) VBAのトグルボタンでのマクロについて質問です 3 2022/10/10 17:23
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
VBA deleteをクリックすると型が一致しないとデバッグになります。
Visual Basic(VBA)
-
Changeイベントでの複数セルのクリアの処理について
Visual Basic(VBA)
-
Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる
Visual Basic(VBA)
-
-
4
エクセルVBA セルの入力後「Delete」キーを押したか判断するプログラム
Excel(エクセル)
-
5
【VBA】Worksheet_changeイベントで特定のキーが押されたときだけ無効にしたい
Visual Basic(VBA)
-
6
ExcelのVBAでエラー13が出てしまいます。(泣き)
Excel(エクセル)
-
7
VBA:結合されたセルに対する「Target」について
Access(アクセス)
-
8
コンボボックス内の文字サイズ変更
Excel(エクセル)
-
9
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
10
ExcelVBA実行後に時々落ちる
Visual Basic(VBA)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
エクセルVBAで行削除時にエラーが発生します。
Excel(エクセル)
-
13
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
14
配列で格納したものをmsgboxで表示する方法について
Access(アクセス)
-
15
VBAで行削除のできない場合がある
Excel(エクセル)
-
16
エクセルでオートフィルタのボタンの位置の変更について
Excel(エクセル)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
Excel VBA セルの名前があるか無いかを知るには?
Visual Basic(VBA)
-
19
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
20
VBAでブック保護非保護を判定するには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
EXCELで条件付き書式で空白セル...
-
勃起する時って痛いんですか? ...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
小数点以下を繰り上げたものを...
-
Excel 数値の前の「 ' 」を一括...
-
至急!尿検査前日にオナニーし...
-
甲状腺が腫れているが血液検査...
-
値が入っているときだけ計算結...
-
口の中に黒い血の塊
-
中出しをするとお腹が痛い・・・。
-
2つの数値のうち、数値が小さい...
-
精子が黄色?
-
エクセル指定した範囲からラン...
-
MIN関数で空白セルを無視したい...
-
【エクセル】0以外が入力され...
-
尿検査前日に自慰行為した時の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
おすすめ情報