Office XP Personal 2002のExcel 2002で「編集」-「ジャンプ」-「セル選択」を応用して別々のブックに対して行いたいがうまくできない。
Sub 相違()の中でWindows(tess.xls)とWindows(tess2.xls)を切り替えて行の相違を取得しようとしているが、希望通りに機能しない。
最上のセル(xlTopCell)を指定することで解決できるか検討中。
別々のブックに対して「ジャンプ」→「アクティブ行との相違」?
Office XP Personal 2002
Excel 2002
メニューから”編集”-”ジャンプ”-”セル選択”
の応用で、
別々のブックを対象に行いたいのですが、うまくできません。
よろしくお願い致します。
Sub 相違()
Windows("tess.xls").Activate
Columns("C:C").Activate
Windows("tess2.xls").Activate
Columns("C:C").Activate
Selection.RowDifferences(ActiveCell).Select
Selection.SpecialCells(xlLastCell).Select
↑↑
'希望は最上のセル(xlTopCell)?としたいのです。
End Sub
平均して何個目ぐらいに違うセルが出てくるのでしょうか?
シンプルに上から順に比較して違ったらそこで終わり,が一番楽そうですが。
sub macro2()
dim c
windows("Book2.xls").activate
for c = 3 to 9999
if workbooks("Book1.xls").worksheets("Sheet1").cells(c, "C") <> _
workbooks("Book2.xls").worksheets("Sheet1").cells(c, "C") then
workbooks("Book2.xls").worksheets("Sheet1").cells(c. "C").select
exit sub
end if
next c
end sub
少なくとも,そういった比較の用途で「アクティブ行との相違」は全く機能しません。
質問者
補足
バッチリでした。
誠に有難うございました。
>平均して何個目ぐらいに違うセルが出てくるのでしょうか?
下記にしてみましたが、無反応になってしまいます。
お時間のおありの時で結構でございます。
度々と、すみません。
Sub macro5()
Dim c, x
x = Cells(65536, 3).End(xlUp).Rows.Count
Windows("Book2.xls").Activate
For c = 3 To x
If Workbooks("Book1.xls").Worksheets("Sheet1").Cells(c, "C") <> _
Workbooks("Book2.xls").Worksheets("Sheet1").Cells(c, "C") Then
Workbooks("Book2.xls").Worksheets("Sheet1").Cells(c, "C").Select
Exit Sub
End If
Next c
End sub
お礼
ご丁寧に、誠に有難うございました。 x = 1 でした。 調べましたら、 「Row」は行番号を求めるプロパティ、「Rows」は行数を求めるプロパティです。 とありました。 >少なくとも,そういった比較の用途で「アクティブ行との相違」は全く機能しません。 も、同様に 曖昧に解釈しておりました。