すでに定義されている配列をループして500を超える値を見つけるのに問題があります。私の下付き文字が範囲外です。VBA配列とループ
これはこれまで私が行ってきたことです。誰かが私に2番目の部分を修正するのを助けることができるので、すでに確立されている配列を適切にループします。
Sub hishSale()
Dim customers() As String
Dim sale() As String
Dim hiCustomer() As String
Dim hiSale() As String
Dim nCustomers As Integer
Dim i As Integer
Dim isOver As Integer
'capture the number of customers and sales and put them in two seperate arrays
With wsData.Range("A3")
nCustomers = Range(.Offset(1, 0), .End(xlDown)).Rows.Count
ReDim customers(nCustomers)
ReDim sale(nCustomers)
For i = 1 To nCustomers
customers(i) = .Offset(i, 0).Value
sale(i) = .Offset(i, 1).Value
Next
End With
'Loop through arrays to find sales over $500
With Range("A3")
isOver = 0
For i = 1 To nCustomers
If .Offset(i, 1).Value > 500 Then
isOver = isOver + 1
hiCustomer(isOver) = .Offset(i, 0).Value
hiSale(isOver) = .Offset(isOver, 1).Value
End If
Next
End With
'return results in columns D and E
With Range("D3")
For i = 1 To nCustomers
.Offset(i, 0) = hiCustomer(isOver)
.Offset(i, 1) = hiSale(isOver)
Next
End With
End Sub
ループを行うには 'lbound(customers())をubound(customers())に' – findwindow
最後のループで 'hi'と' hiSale'に 'i'を使うことを意図していましたか?あなたは 'isOver'を使用しています。その値はこの時点で固定されています –
正確にどの行にエラーがあるのかを指定する必要があります... –