前提・実現したいこと
ここに質問の内容を詳しく書いてください。
ソースコード上のCells(j.Row,"B")Selectの部分でJ.Rowに数字が格納されていますが、
セレクトが機能しません。
こちらの解決方法を教えてください。
発生している問題・エラーメッセージ
座標を選択できない。
エラーメッセージ
該当のソースコード
Private Sub CommandButton1_Click() Dim i As Integer Dim j As Range Dim shName As String Dim What As String i = 1 Do Until i > 12 '追加した場合はi>〇を変更する Worksheets(1).Activate On Error Resume Next Range(Cells(5 + i, 3), Cells(5 + i, 8)).Copy shName = Cells(5 + i, 2).Value If shName = vbNullString Then Exit Sub Sheets(shName).Activate Set j = Range(Cells(38, 1), Cells(97, 1)).Find(What:=Cells(1, 10).Value) If j Is Nothing Then MsgBox "見つかりませんでした。" End If Cells(j.Row, "B").Select ActiveCell.PasteSpecial Paste:=xlPasteValues i = i + 1 Loop End Sub
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
コードを見やすくするためにコードは「コードの挿入」で記入してください。
質問のコードは何をするコードでしょうか?簡単な説明があると良いかと思います。
シートの入力されている状態がわからないですがコードだけでは「Cells(j.Row, "B").Select」含め動作しました。
シートの内容とズレている部分等があるのではないでしょうか?
ステップイン等を使い1行ずつ実行して行けば問題がどこにあるかわかると思います
書式が正しく記載できておらず、申し訳ありません。ソースコードを修正しております。
質問のコードはSetにてjに検索一致したセルの行の座標を格納し、その座標のセルを選択しアクティブにする目的です。
On Error Resume Next の行をコメントアウトして、実行してみてください。
エラーメッセージがでませんか。でたら、そのメッセージとエラーの出た行を追記してください。
>bebebe_さん:ステップインにて該当のコード実行時にj.Rowに正しい値が格納されているところまでは確認できていますが、選択がされない状態となっています。
下記のようにデバッグコードを埋め込んで実行して、イミディエイトウィンドウに表示された結果を提示してもらえますか。
Debug.print j.Row
Cells(j.Row, "B").Select
Debug.print ActiveCell.Address
j.Rowの値もおかしくないならコピー先のシートに保護がかかっていたりはしませんか?
ベストアンサーの方の対処法で解決いたしました。親身に相談乗っていただき、ありがとうございました。
回答2件
あなたの回答
tips
プレビュー