0
列Aのすべてのセルを1つずつ読み込み、セルに特定のテキストが含まれるまで、行全体をコピーして別のワークシートに貼り付けるコードがあります。 。コード以下を参照してください:VBAで条件が満たされたときに全体行が選択されていない
Public Sub CiscoPrimeReport()
Dim rowCounter As Long
Dim colCounter As Long
rowCounter = 9
colCounter = 1
MsgBox ("Please do the following before pressing the OK BUtton on this Popup Window!!:" & vbNewLine & vbNewLine & _
"1. Open the CISCO PRIME AP Report you want to use" & vbNewLine & _
"2. Select all the data (Ctrl + A)" & vbNewLine & _
"3. Copy ALL the content (Ctrl + C)" & vbNewLine & _
"4. NOW YOU CAN PRESS THE OK BUTTON!")
Application.DisplayAlerts = False
Call createCiscoSheet
With ThisWorkbook.Sheets("Cisco Raw")
.Range("A1").PasteSpecial (xlPasteValues)
Do While rowCounter < 2200
If Cells(rowCounter, colCounter).Value <> "AP Statistics Summary" Then
ThisWorkbook.ActiveSheet.Range("rowCounter:colCounter").EntireRow.Copy
With ThisWorkbook.Sheets("Throughput Per AP")
.Range("A2").PasteSpecial (xlPasteValues)
End With
End If
rowCounter = rowCounter + 1
Loop
End With
End Sub
コードは、私は、この行に到達するまで正常に動作:アプリケーション定義またはオブジェクト定義のエラー:
ThisWorkbook.ActiveSheet.Range("rowCounter:colCounter").EntireRow.Copy
私は、実行時エラー1004を取得します。
Do While
ループを使用しているかどうかわからないので、代わりにFor
ループを使用するか、コード内に何か不足している場合は使用してください。
'行(2)'で '2' (または元の '.Range(" A2 ")')はおそらく**ハードコードされた数字ではなく変数にする必要がありますが、希望すればOPでうまく修正できます。 – YowE3K
@ YowE3Kうん、私は同意するが、私はすでに一つのことを想定していた。私はOPが最初の仮定を確認してから次のものを助けるのを待つつもりでした。 –
@ScottCranerありがとう!問題を修正し、また、目標シート上で1つずつ増加する変数を実装し、オフセット関数を使用して、条件が満たされるたびにセルを移動させました。 –