Я ценю, что это дилетантский вопрос, но я не привык к VB и его синтаксису.
Я пытаюсь перетащить информацию из одного рабочего листа (ProductList) в другой (Quote), основываясь на том, есть ли значение в столбце количества (QTY).
Вот мой метод:
Private Sub cmdProductListContinue_Click()
'Declare variabless
Dim i, duration, qty, outputX, outputY
'Set initial values
duration = 120 'Used to determine number of iterations in for loop (no. of QTY cells we are to check)
i = 3 'Used as cell co-ordinates to pull information from
outputX = 17 'Used as cell co-ordinates to output information
'Populate invoice with product info by iterating through all QTY cells and pulling across info if needed
For i = 3 To duration
'Reset quantity to zero each time
qty = 0
'Set quantity to the value in the QTY cell
Set qty = Worksheets("ProductList").Cells(i, 3)
'If there is a quantity value present
If qty > 0 Then
'Insert quantity value into appropriate cell in quote sheet
Worksheets("Quote").Cells(outputX, 2) = qty
'Insert description into quote sheet
Worksheets("Quote").Cells(outputX, 3) = Worksheets("ProductList").Cells(i, 2)
'Insert unit price into quote sheet
Worksheets("Quote").Cells(outputX, 4) = Worksheets("ProductList").Cells(i, 4)
'Increment the output co-ordinates to the next line
outputX = outputX + 1
End If
Next i
'Open quote sheet
Sheets("Quote").Select
End Sub
Используя точки останова, я вижу, что когда есть количественное значение, оно успешно перемещается в первый оператор «Then», но затем, кажется, просто возвращается к началу цикла, полностью пропуская две другие выходные строки.
Мой синтаксис правильный? Я что-то упускаю из своей логики?
Я ценю, что это может быть трудно обдумать, не имея листов, чтобы увидеть столбцы данных и т. Д.
'i' установлено в 3, поскольку первое значение столбца Количество находится в ячейке C, 3 с описанием в C, 2 и ценой в C, 4. Затем они увеличиваются в цикле.
Любая помощь с этим будет оценена.
Спасибо !!