0

私はこのすべてとサイトに少し慣れていませんが、最近、コードで解決できないエラーが発生しました。私の目的は、「下請け業者:」というフレーズを含むすべてのセルを、A列からオフセットされたL列のセル(1,11)までマクロで切り取れるようにすることです。私のコードではそうすることができますが、希望する結果が得られたとしても、エラー91が発生します。

コード:

Sub SiteAccess()
Dim mySheet As Worksheet, myOtherSheet As Worksheet, myBook As Workbook 'Define your workbooks and worksheets as variables
Set myBook = Excel.ActiveWorkbook
Set mySheet = myBook.Sheets("SiteAccessReports")

Dim cc As Excel.Range, ee As Long

Do
For Each cc In Range("A1:A30000") 'Or whatever yours is
If cc.Value Like "*SUBCONTRACTOR : *" Then
cc.Cut Destination:=cc.Offset(1, 11)
For ee = mySheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1 To ActiveSheet.UsedRange.Row Step -1
If Cells(ee, 1) = 0 _
Then Cells(ee, 1).EntireRow.Delete

     Next ee
Exit For
End If
Next
Loop Until cc.Value = "***END OF REPORT*** " 'Error Line

End Sub

私が得ることができるどんな助けにも感謝します。

4

1 に答える 1

0

これはあなたが望むことをしますが、空の値を拾わないように初期範囲の選択を調整する必要があります。

Sub SiteAccess()
Dim mySheet As Worksheet, myOtherSheet As Worksheet, myBook As Workbook 'Define your     workbooks and worksheets as variables
Set myBook = Excel.ActiveWorkbook
Set mySheet = myBook.Sheets("SiteAccessReports")

Dim cc As Range

For Each cc In Range("A5:A14") 'Or whatever yours is

    If cc.Value Like "*SUBCONTRACTOR : *" Then

        cc.Cut Destination:=cc.Offset(1, 11)
        Cells(cc.Row - 1, 1).EntireRow.Delete

    End If

    If cc.Value Like "***END OF REPORT***" Then Exit Sub

Next


End Sub
于 2013-03-26T09:48:46.893 に答える