以下は、特定のマシンの効率と日付を表す画像です。効率性は毎日ではなくランダムな日付で行われます。この効率は、新しい効率が追加されるまで繰り返されます。したがって、私たちのケースでは、唯一の効率はDay#1,3,10 & 12で行われます。しかし、効率が繰り返される可能性があることがわかります。Day#3 & 12効率は同じです。コマンドを使用できませんDublicatesを削除してくださいExcelでアレイを使用しているときのVBAランタイムエラー9
使命は、効率がデー#1,3,10 & 12に入力されたこれらの日付を選択することで、私はややこれを行うことができたVBAを使用して、それが最後にエラー9を投げますか?
Sub AutoEffRemove()
Dim rangeToUse As Range, cell1 As Range, i As Integer, RowCount As Integer, MyArray() As Variant
Set rangeToUse = Selection
For Each cell1 In Selection
If cell1.Value = cell1.Offset(-1, 0).Value Then
ReDim Preserve MyArray(RowCount)
MyArray(RowCount) = cell1.Row
RowCount = RowCount + 1
End If
Next cell1
For i = 0 To WorksheetFunction.Count(MyArray)
Rows(MyArray(i)).EntireRow.Delete
'MsgBox MyArray(i)
Next i
End Sub
メッセージボックス&数(MyArrayという)は、そのコードのいずれかLBOUND(MyArrayという)の範囲は、(MyArrayという)をUBOUNDするべきループについて最終的なので、エラーが発生し
代わりに、For i = lbound(myArray)to ubound(myArray) 'を実行することをお勧めします。 – BruceWayne