WorkSeet Chengeで
If Target.Range("E20:E100") Then
If Target.Offset(0,1)<>"" Then
Target=Target.Offset(-1,0)
End If
End If
E20からE100の間でもし右隣のセルに何か入力されたら上のセルと同じ値を表示する、ということをやりたいのですが、一行目でエラーになってしまいます。
選択範囲の指定の仕方が間違っているのでしょうか?
教えて下さい。
初歩的な質問で恐縮ですが、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こうしたいってことでしょか?
If Target.Row >= 20 And Target.Row <= 100 And Target.Column = 5 Then
If Target.Offset(0, 1) <> "" Then
Target = Target.Offset(-1, 0)
End If
End If
難しいですが、
Target.Range("E20:E100")
これだと、「変更したtargetがRange("E20:E100")かどうか」ではなく「変更したtargetの中にはRange("E20:E100")が存在するかどうか」
という意味になってしまいます。でも、targetはひとつのセルでしかないので、その中にセル列が存在することはないのでエラーとなってしまいます。
なので、「変更したtargetは20行以降であり、100行以内であり、5列目であるかどうか」という質問で無いと意味が成り立たなくなります。
- - - - - -
ただ、このソースだと望みの結果になってないような……
「E列の内容を変更した際、右隣にデータがあったら上のものを同じにする」でしたらいいのですが、
「E列の右隣のセルの内容を変更した際、その変更したセルにデータがあったら上のものを同じにする」
という場合、Target.Column = 5ではなくTarget.Column = 6となります。
いろいろ難しいところはありますが、この勉強はどの局面でも役立ちますからがんばってくださいませ。
やはり範囲の指定の仕方が間違っていたんですね。
大変分り易く説明して頂き助かります。
おっしゃる通りに直して無事解決しました。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) エクセル VBAで複数セル選択時エラーになる問題 3 2022/10/04 02:40
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセルvba (ByVal Target As Range)について
Excel(エクセル)
-
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
targetをA列のセルに限定するには?
Visual Basic(VBA)
-
-
4
エクセル マクロで セルの範囲を指定する方法
Visual Basic(VBA)
-
5
VBA:結合されたセルに対する「Target」について
Access(アクセス)
-
6
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
7
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
8
マクロ 実行ボタンを押さずに常に実行
Excel(エクセル)
-
9
エクセルVBAでTargetのセルに設定された「名前の定義」の取得方法は?
Excel(エクセル)
-
10
Worksheet_Change(ByVal Target As Range)の下に複数範囲
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
エクセルVBAのエディターが上書きモード?に・・・・。
Excel(エクセル)
-
13
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
14
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
15
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
16
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
17
セルの値が変ると自動でマクロが実行される。
その他(Microsoft Office)
-
18
同じシート内にイベントプロシージャが二つある時
Excel(エクセル)
-
19
Worksheet.Change イベントを他のシートにも反映させる方法?
Visual Basic(VBA)
-
20
VBA target.offset セル結合
Excel(エクセル)
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelで小数点0を表示させる方法
-
Excelマクロに詳しい方教えてく...
-
vlookupで返された値が空白だっ...
-
numbersで累計を計算するには
-
Excelで方眼紙を作り、そこに手...
-
EXCELで上位10個のデータを平均...
-
Excel IF構文内の計算式を有効...
-
マクロ クリックしたら色変わる
-
エクセルで同じ数字を入力・・...
-
他シートのある列を検索して一...
-
エクセルで0.0と表示したい
-
エクセルについて教えてください。
-
セルの数式を計算させないで文...
-
Excelで合計の金額を違うセルに...
-
エクセルで文字を180度回転...
-
エクセルの数式で教えてください。
-
エクセルでチェックリストをつ...
-
エクセル
-
ローマ字入力で「トゥ」を入力...
-
「未使用」と「不使用」ってど...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelで小数点0を表示させる方法
-
【EXCEL】関数で計算された数字...
-
エクセルで0.0と表示したい
-
他シートのある列を検索して一...
-
vlookupで返された値が空白だっ...
-
エクセル 絶対値の合計
-
セルの数式を計算させないで文...
-
Excelで合計の金額を違うセルに...
-
numbersで累計を計算するには
-
EXCEL VBA 選択範囲をTargetに
-
Excel IF構文内の計算式を有効...
-
Googleスプレッドシートで合計...
-
エクセルの文章の修正法について
-
エクセル 背景色のついたセル位...
-
エクセル .50以下で切り捨て、...
-
エクセル
-
エクセルで網掛けをしたセルを...
-
Excelマクロに詳しい方教えてく...
-
Excel VBAにてUserFormのTextBo...
-
エクセルの文字列を結合しても...
おすすめ情報