おはようコピーすべて、私は私の状況をカバーする、ここにスレッドを見つけようとしてきたが、私は成功していないVBAが含まれているすべてのセルを検索し、隣接
。私は、特定の文字列値を含むすべてのセルを検索する所定の範囲内の(可能であれば複数例えば
"*Text*Text*" that would find "123Text123Text123"
ストリング)
、その行からID参照を返すようにしようとしています。これまでのところ私は、しかし、これが唯一のを含む完全一致ではなく、を探し、「もしCell.Value = XXX」のシナリオを使用するために管理している:
intMyVal = InputBox("Please enter Sales Order No.")
lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row
newrow = 1
For Each Cell In Range("D2:D" & lngLastRow) 'Data to search
If Cell.Value = intMyVal Then
Cells(Cell.Row, 1).Copy 'Copy ID1 value
Sheets("TempData").Cells(newrow, 1).PasteSpecial xlPasteValues 'Paste ID1 value in temp data
newrow = newrow + 1
End If
Next Cell
以下の画像を私が参照していたデータの抽出物を示して。列Dには特定のテキスト文字列(「Tesco」や「Ireland」など)を検索する必要があり、ヒットごとに列Aの対応する値を一時データページにコピーする必要があります。
誰もが素晴らしいことだVBAの検索を使用してこれを行うための正しい方法を提案することができれば。事前に
おかげで、 ダン
これは完璧なのおかげです。コピーする必要がある値がルックアップと異なる列にあるので、私は少し修正しました。 '設定しtemp_dest = ThisWorkbook.Worksheets( "TempDataを") rAllFoundCells.Offset(-3).Copy temp_dest.Cells(1、1).PasteSpecialペースト:私は今で持っています= xlPasteValues'' – DannyBarnes01
一つの問題これは、私がさまざまな列に検索を広げているときです。私が上で使用したオフセット方法は、データが見つかる列を知っているときにのみ機能します。肯定的な結果を返すデータの各行に対して、常に列Aのデータをコピーできるように調整できますか?ありがとう、Dan – DannyBarnes01
新しい 'Range'変数を追加することができました。私は' rColA'と呼んでいます。 '見つかったセルの範囲を作成する'コメントの上の行に次のコードを追加します:Set 'rColA = ThisWorkbook.Worksheets(" Sheet1 ")。Cells(rFoundCell.Row、1)'。これは、見つかった行の列Aへの参照を返します。次に、2つの 'Set rAllFoundCells ....'行は 'rFoundCell'を' rColA'に変更します。 'rSearchRange'を任意の列に変更すると、見つかった行の列Aの値が常に返されます。 –