• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロコードの変更)

マクロコードの変更方法

このQ&Aのポイント
  • エクセルのマクロコードを変更する方法について説明します。特に、以下のサンプルコードのD$7セルの部分をどのように変更するかに焦点を当てます。
  • サンプルコードでは、D$7セルに入力された値と同じ値を持つセルを検索し、そのセルに移動します。
  • ただし、サンプルコードのD7セルには6桁の数字が入力される前提になっていますが、検索先は'111101とシングルクォーテーションが付いています。したがって、D7セルの部分を変更する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

こちらの環境では、シングルコーテーションの有無にかかわらず検索できました。 特に修正しなくても検索できると思います。

s-hi-yo
質問者

お礼

無事解決しました。 これが正しいのかわかりませんが LookAtを部分一致にしたところ 希望したセルに移動したので これで解決とさせていただきます。

s-hi-yo
質問者

補足

kyboさま 回答ありがとうございます。 試しに、シングルコーテーションのある6桁の数字をG列にMID関数でシングルコーテーションを外したのをH列において、マクロの実行をしたところH列の方には移動しました。 H列を削除してからマクロの実行をしたら「同じ値はありません」となりました。 TYPE関数で調べたところG列H列ともに「テキスト」となりました。 他に考えられる原因はありますでしょうか。 よろしくお願いします。

その他の回答 (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

s-hi-yo
質問者

補足

kyboさま 丁寧にありがとうございます。 現象は変わりませんでした。。