プロが教える店舗&オフィスのセキュリティ対策術

Excelにて、シート1のA列とシート2のA列のデータにNoを入れます。
シート1のA列のNoをクリックすると、シート2のA列の同じNoにジャンプするマクロを組みたいです。

現在組んでいるマクロは、

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Sht As Worksheet
Dim Rng1 As Range
Dim Rng2 As Range
Dim FindCell As Range

Set Sht = Worksheets("シート2")
Set Rng1 = Range("A2:A100")
Set Rng2 = Sht.Range("A2:A100")If Intersect(Target, Rng1) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub

Set FindCell = Rng2.Find(Target.Value)
If Not FindCell Is Nothing Then
Application.Goto Reference:=FindCell, Scroll:=False
End If
End Sub



です。
一応マクロは実行されますが、そうすると、シート1のA列の編集(Noを追加したり変更したり・・・)できません。

編集や変更もできて、検索マクロも実行できるというマクロの組み方はありますでしょうか?

A 回答 (2件)

再度の登場、onlyromです。



お気づきとは思いますが回答1のイベントプロシージャ名が
>xxWorksheet_BeforeDoubleClick
と前に余計な、xx が付いているので外してください。


>一致したセルに飛ぶ時、そのセルがある行を選択

If Not FindCell Is Nothing Then
  Application.Goto Reference:=FindCell, Scroll:=False
  FindCell.EntireRow.Select  ●この一行を追加
End If

行選択のコード●を追加してください。
以上。
 
    • good
    • 0
この回答へのお礼

行選択、できました。
ありがとうございました。思いどうりにマクロが組めて大変助かりました。

お礼日時:2009/01/16 12:37

>シート1のA列の編集(Noを追加したり変更したり・・・)できません



それは当然のことですね。
修正しようとA列をクリックすると、Worksheet_SelectionChangeイベントが発生します。
質問者はそのイベントにコードを書いてますのでクリックするたびに提示のコードが動作して修正も変更もできなくなります。

質問のようなことをしたい場合は、ダブルクリックして飛ばすように
BeforeDoubleClickイベントを使う方がいいでしょう。

'----------------------------------------------
Private Sub xxWorksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim Sht As Worksheet
  Dim Rng1 As Range
  Dim Rng2 As Range
  Dim FindCell As Range

  If Target.Count > 1 Then Exit Sub

  Set Sht = Worksheets("シート2")
  Set Rng1 = Range("A2:A100")
  Set Rng2 = Sht.Range("A2:A100")

  If Not Intersect(Target, Rng1) Is Nothing Then
    Cancel = True
    Set FindCell = Rng2.Find(Target.Value)
    If Not FindCell Is Nothing Then
     Application.Goto Reference:=FindCell, Scroll:=False
    End If
  End If
End Sub
'-------------------------------------

ちょこっとコードを変えてあります。
以上。
    • good
    • 0
この回答へのお礼

ありがとうございます。
これでやってみます。もう一点なんですが、一致したセルに飛ぶ時、そのセルがある行を選択(A3だったら3行目)を参照してくれたりするプログラムもできますか??
行選択の方が見やすいので出来ればそうしたいのですが。。。

お礼日時:2009/01/16 10:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング