同様の問題に対する回答を検索する複数のスレッドを読み込んでいますが、独自のコードをデバッグできませんでした。VBA範囲内の値に基づいて行全体を新しいシートにコピー
"Aeronautics Engineers"という用語でAEとBFの間のすべてのセルを検索し、その用語を含むすべての行を新しいシートにコピーするマクロを作成しようとしています。どのような援助のための
がSub MoveAero()
Dim strArray As Variant
Dim wsSource As Worksheet
Dim wsDest As Worksheet
Dim NoRows As Long
Dim DestNoRows As Long
Dim I As Long
Dim J As Integer
Dim rngCells As Range
Dim rngFind As Range
Dim Found As Boolean
strArray = Array("Aeronautic")
Set wsSource = ActiveSheet
NoRows = wsSource.Range("A65536").End(xlUp).Row
DestNoRows = 1
Set wsDest = ActiveWorkbook.Worksheets.Add
For I = 1 To NoRows
Set rngCells = wsSource.Range("AE" & I & ":BF" & I)
Found = False
For J = 0 To UBound(strArray)
Found = Found Or Not (rngCells.Find(strArray(J)) Is Nothing)
Next J
If Found Then
rngCells.EntireRow.Copy wsDest.Range("A" & DestNoRows)
DestNoRows = DestNoRows + 1
End If
Next I
End Sub
ありがとう:シート全体が、私は運なしに次のコードを使用してみましたが99289.
の合計を持っています!
検索文字列を配列ではなく変数に格納します。 – findwindow
「何もない」という意味のことを考えてみましょう。エラーはありますか?もしそうなら、どの行がエラーを発生させ、エラーメッセージは何ですか? –
@DavidZemens書かれたマクロを実行すると、新しいシートが追加されますが、何もコピーされません。エラーは発生しません – Mac