私は何時間も失敗した試みとインターネットの精査の後に何をしようとしているのか見当がつかない。文字列を探している列をスキャンしたい場合は、次のセルの値をコピーして新しいシートに貼り付け、次の文字列の列を続けて、その隣の値を次のセルにコピーしたいもう一方のシートを下に押してください。コピーと貼り付けを行うコードを取得しましたが、貼り付け場所を次のセルに移動して上書きを続行しないようにする方法がわかりません。私は、A1セルが表示されている整数Iを使用して、目的地で= I + 1つのインクリメント私をdiong試みたが、それは動作しません文字列のVBA検索列と、見つかった場合新しいシートに次のセルデータをコピー
For Each cell in SrchRng
If cell.Value = "1_Complete" Then
cell.Offset(0,1).Copy Sheets("WO Completion List").[A1]
End If
Next cell
:ここで私はこれまで持っているものです。これはシンプルですが、私はそれを理解することはできません。おそらく私は配列を作成する必要がありますか?私はVBAの初心者です。私はJavaやC++に慣れています。
クイックアップデート:
私は「.Cellsは」私は 『s』をオフに左ので、私は仕事にそれを得て使用していませんでした。私はこれをしました:
For Each cell In SrchRng
If cell.Value = "1_Complete" Then
cell.Offset(0, 1).Select
Selection.Copy
Sheets("WO Completion List").Cells(i, 1).PasteSpecial xlPasteValues
i = i + 1
End If
Next cell
今私の質問は、これを行うより良い方法ですか?私は関数を実行すると、束を点滅させてリストを1枚のシートにコピーし、値が消えて奇妙に見えます。
ありがとう@JNevill私が使用していたことに気づきました。画面が狂ってしまわないようにする方法はありますか?私はこれを使用することになるつもりはないので、スプレッドシートを使用するたびに誰もがなぜそれをするのか聞かせてもらいたい。 –
あなたのコードの前に、あなたのサブルーチンでは、アプリケーションのScreenUpdating設定を 'application.screenupdating = false'にすることができます。コードの最後に、それをTrueに戻してください。さもなければ、非常に混乱したエンドユーザーがいるでしょう。 – JNevill
'range.copy ...'の代わりに、もう一方の値に基づいて値を設定するだけで、より良い動作が得られるかもしれません。ただし、書式や式はコピーされません。 'Sheets(" WO補完リスト ")。セル(rowCounter、1).value = cell.Offset(0,1).value'。 – JNevill