
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBA セルの入力後「Delete」キーを押したか判断するプログラム
Excel(エクセル)
-
VBA/Worksheet_Changeがうまくいかない
PowerPoint(パワーポイント)
-
VBA deleteをクリックすると型が一致しないとデバッグになります。
Visual Basic(VBA)
-
-
4
Changeイベントでの複数セルのクリアの処理について
Visual Basic(VBA)
-
5
Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる
Visual Basic(VBA)
-
6
【VBA】Worksheet_changeイベントで特定のキーが押されたときだけ無効にしたい
Visual Basic(VBA)
-
7
VBA:結合されたセルに対する「Target」について
Access(アクセス)
-
8
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
9
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
10
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
11
エクセルVBAでTargetのセルに設定された「名前の定義」の取得方法は?
Excel(エクセル)
-
12
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
13
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
14
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
15
セルの書式設定のフォントやサイズの設定はできないの
Excel(エクセル)
-
16
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
血小板増加について
-
検便についてです。 便は取れた...
-
首吊りどこ締めるの
-
Excel 数値の前の「 ' 」を一括...
-
レインボーシックスシージをし...
-
エクセルで空白セルを含む列の...
-
腕を見たら黄色くなってる部分...
-
VLOOKUP関数を使用時、検索する...
-
2つの数値のうち、数値が小さい...
-
小数点以下を繰り上げたものを...
-
値が入っているときだけ計算結...
-
病院側から早く来てくださいと...
-
勃起する時って痛いんですか? ...
-
エクセルのラベルの値(文字列...
-
彼女のことが好きすぎて彼女の...
-
Excel条件付書式(残業45時間以...
-
リンク先のファイルを開かなく...
-
エクセルで数式の答えを数値と...
-
MIN関数で空白セルを無視したい...
-
値が入っている一番右のセル位...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報