- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロコードの変更)
マクロコードの変更方法
このQ&Aのポイント
- エクセルのマクロコードを変更する方法について説明します。特に、以下のサンプルコードのD$7セルの部分をどのように変更するかに焦点を当てます。
- サンプルコードでは、D$7セルに入力された値と同じ値を持つセルを検索し、そのセルに移動します。
- ただし、サンプルコードのD7セルには6桁の数字が入力される前提になっていますが、検索先は'111101とシングルクォーテーションが付いています。したがって、D7セルの部分を変更する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こちらの環境では、シングルコーテーションの有無にかかわらず検索できました。 特に修正しなくても検索できると思います。
その他の回答 (1)
- kybo
- ベストアンサー率53% (349/647)
回答No.2
Findの引数、After:=ActiveCell となっているのが、問題なのかもしれません。 After:=Targetとしてみてください。 ’全文 Private Sub Worksheet_Change(ByVal Target As Range) Dim myR As Range If Target.Address <> "$D$7" Then Exit Sub If Target.Value = "" Then Exit Sub Set myR = Cells.Find(What:=Target.Value, _ After:=Target, LookIn:=xlFormulas, LookAt _ :=xlWhole, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=True) If myR.Address = Target.Address Then MsgBox "同じ値はありません" Else myR.Activate End If End Sub
質問者
補足
kyboさま 丁寧にありがとうございます。 現象は変わりませんでした。。
お礼
無事解決しました。 これが正しいのかわかりませんが LookAtを部分一致にしたところ 希望したセルに移動したので これで解決とさせていただきます。
補足
kyboさま 回答ありがとうございます。 試しに、シングルコーテーションのある6桁の数字をG列にMID関数でシングルコーテーションを外したのをH列において、マクロの実行をしたところH列の方には移動しました。 H列を削除してからマクロの実行をしたら「同じ値はありません」となりました。 TYPE関数で調べたところG列H列ともに「テキスト」となりました。 他に考えられる原因はありますでしょうか。 よろしくお願いします。