
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件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
再度の登場、onlyromです。
お気づきとは思いますが回答1のイベントプロシージャ名が
>xxWorksheet_BeforeDoubleClick
と前に余計な、xx が付いているので外してください。
>一致したセルに飛ぶ時、そのセルがある行を選択
If Not FindCell Is Nothing Then
Application.Goto Reference:=FindCell, Scroll:=False
FindCell.EntireRow.Select ●この一行を追加
End If
行選択のコード●を追加してください。
以上。
No.1
- 回答日時:
>シート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
'-------------------------------------
ちょこっとコードを変えてあります。
以上。
ありがとうございます。
これでやってみます。もう一点なんですが、一致したセルに飛ぶ時、そのセルがある行を選択(A3だったら3行目)を参照してくれたりするプログラムもできますか??
行選択の方が見やすいので出来ればそうしたいのですが。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
【VBA】指定したセルと同じ値で、別シートにあるセルに移動するには?
Visual Basic(VBA)
-
エクセルで検索して移動???
Excel(エクセル)
-
-
4
セルの値からマクロで検索を行うには
Excel(エクセル)
-
5
Excelのワークシート上に検索窓とボタンを作りたい
Excel(エクセル)
-
6
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
7
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
8
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
9
【Excel】希望したセルへ一発でジャンプするには?
Excel(エクセル)
-
10
数値入力で簡単に該当のセルへ移動できませんか?
その他(Microsoft Office)
-
11
【エクセル】フリーワード検索用の検索窓を作りたいです。その検索結果を一覧で表示させたいです。
Excel(エクセル)
-
12
Excelで条件をつけてハイパーリンクで飛ばしたいのですが・・・
Excel(エクセル)
-
13
A1に入力された文字列と同じ文字があるセルへ移動
Excel(エクセル)
-
14
エクセルのマクロで全シートを検索したい
Excel(エクセル)
-
15
エクセルでの検索ボックスの作り方について
Excel(エクセル)
-
16
[Ctrl]+FをVBAで表現
Visual Basic(VBA)
-
17
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
18
エクセルでリストから指定セルへジャンプする
その他(ビジネス・キャリア)
-
19
エクセルのVBA 特定のセルでエンターキーでマクロ実行
Excel(エクセル)
-
20
VBAを使って検索したセルをコピーして別の場所に貼り付ける。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じ作業を複数のシートに実行...
-
excelのマクロで該当処理できな...
-
【ExcelVBA】全シートのセルの...
-
XL:BeforeDoubleClickが動かない
-
【VBA】指定した検索条件に一致...
-
別のシートから値を取得するとき
-
VBA 存在しないシートを選...
-
ブック名、シート名を他のモジ...
-
ユーザーフォームに入力したデ...
-
実行時エラー'1004': WorkSheet...
-
Excel チェックボックスにチェ...
-
セルの値によって、シート見出...
-
【Excel VBA】Worksheets().Act...
-
エクセルのマクロでアクティブ...
-
IFステートの中にWithステート...
-
EXCEL(VBA)でシート保護がかか...
-
【VBA】シート名に特定文字が入...
-
Excel VBA での計算について…
-
VBA 検索して一致したセル...
-
コマンドボタンをクリックでシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
同じ作業を複数のシートに実行...
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
ブック名、シート名を他のモジ...
-
Pythonを勉強しています。
-
【VBA】指定した検索条件に一致...
-
excelのマクロで該当処理できな...
-
C#でExcelのシートを選択する方法
-
VBA 検索して一致したセル...
-
A2~I4179列にあるリストを支社...
-
【VBA】シート名に特定文字が入...
-
VBA 存在しないシートを選...
-
VBAを用いて繰り返し自動的...
-
ExcelのVBAのマクロで他のシー...
-
Excel チェックボックスにチェ...
-
実行時エラー'1004': WorkSheet...
-
XL:BeforeDoubleClickが動かない
-
【Excel VBA】Worksheets().Act...
-
エクセル・マクロ シートの非...
おすすめ情報