0

私は VBA の経験がまったくありませんが、これは私がやろうとしていることです (コードは以下にあります):

私は 2 枚のシートを持っています。各販売にはダイスがあり、多くの販売と 1 つのダイスの関係があります。すべてのダイをループし、そのループ内ですべての販売をループし、各行を一連の基準と比較してから出力したいと思います。

'All dies have a type and a size. All products have a type and a size. We hope to match them.
Sub searchroute()
Dim x As Integer, y As Integer, z As Integer
x = 0 'for row offset on dies, number
y = 0 'for row offset on sales, item
z = 0 'for later use

Do Until IsEmpty(Worksheets("Dies").a2.Offset(x, 0)) = True
    Do Until IsEmpty(Worksheets("Sales").a2.Offset(y, 0)) = True
        If Worksheets("Dies").i2.Offset(x, 0) = Worksheets("Sales").c2.Offset(y, 0) Or Worksheets("Dies").i2.Offset(x, 0) = "Any" Then
            If Worksheets("Sales").g2.Offset(y, 0) = Worksheets("Dies").j2.Offset(x, 0) Or Worksheets("Dies").j2.Offset(x, 0) = "Any" Then
                'then we've got the same type and size, print output to a cell
                'should figure out how to append, place the whole list in a single cell
            End If
        End If
        y = y + 1
    Loop
    x = x + 1
Loop

End Sub

これをステップ実行すると、最初の Do Until で 438 エラーが発生します。これは簡単なことだとわかっていますが、頭が真っ白です。

事前に知恵をありがとう!

4

1 に答える 1

3

Worksheets("Dies").a2.と置き換えますWorksheets("Dies").Range("a2").

特定のセルを参照しようとしているすべてのインスタンスに同じことが言えます。

于 2013-07-29T19:09:00.393 に答える