私のコードを動作させるにはあなたの助けが必要です。ループ機能がVBA Excelを実行し続ける
1つのシートから別のシートにセルの値をコピーするコードを作ったので、すべての値をコピーして最初の値に達したときに停止するコードがループに必要でした。ここまでは順調ですね。
しかし、私は他のものを見つけるためにコードを変更すると(例として "B"を範囲として使用している)、ループは自分のシートに値を貼り付け続けてしまいます。
以下は動作するコードです。
だから、同じことをするコードが必要ですが、違う言葉で、皆さんが私を助けてくれることを願っています。
Dim A As Range
Sheet5.Activate
Cells.Find(what:="1 X ", after:=ActiveCell, LookIn:=xlValues, lookat:=xlPart, searchorder:=xlByRows, searchdirection:=xlNext, MatchCase:=False , searchformat:=False).Copy
ActiveCell.Select
Set A = ActiveCell
Sheet75.Activate
row_number = row_number + 1
Cells(row_number, 2).Select
ActiveCell.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, skipblanks:=False, Transpose:=False
Do
Blad5.Activate
Cells.FindNext(after:=ActiveCell).Select
Cells.FindNext(after:=ActiveCell).Copy
Sheet75.Activate
row_number = row_number + 1
Cells(row_number, 2).Select
ActiveCell.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, skipblanks:=False, Transpose:=False
Loop Until ActiveCell.Value = A.Value
ありがとう、悪い英語のためにsrry。
)をバック最初のセルに包む、あなたは「.Address」を比較する必要が見つかった代わりの財産の範囲".Value" one – user3598756
あなたのコードには多くの '.Select'と' .Activate'があります。[Selectを使う方法を避けてください](http://stackoverflow.com/questions/10714251/)どのように回避するかを選択してExcelで選択する方法) –
[Excel VBAはじめにPart 5 - セル(範囲、セル、アクティブセル、終了、オフセット)の選択](https://www.youtube.com/watch?v=c8reU-H1PKQ)と[Excel VBAの紹介パート15a - FindとFindNext](https://www.youtube.com/watch?v=_ZVSV9Y7TGw) –