Копировать значение и смещение из книги X в рабочую книгу Y только при значении диапазона> 0, затем цикл для оставшихся строк

Любая помощь или предложения, безусловно, оценены … Я работаю с двумя отдельными книгами.

Рабочая книга X – это моя «Форма заказа», она содержит соответствующие столбцы: столбец A: столбец с номером позиции B: qty

Я хочу вытащить как номер элемента, так и значение qty ТОЛЬКО ЕСЛИ qty> 0 или <> NULL.

Эти данные затем будут отправлены в книгу Y, в которой содержится: столбец B: столбец с номером позиции C: qty

Ниже приведен один вариант кода, который я попытался, я занял около 5 часов, и я не уверен в идеях.

Благодаря!

Dim x As Workbook Dim y As Workbook 'Open both workbooks Set x = Workbooks.Open(Me.txtSelect) Set y = Workbooks.Open(Me.txtOutput) Dim i As Integer i = 1 While i < 200 'Extract data from sheet x into sheet y If x.Sheets("Order Form").Cells(i, 2).Value > 0 Then x.Sheets("Order Form").Cells(i, 1).Value = y.Sheets("UploadTemplate").Cells(B2 + i).Value x.Sheets("Order Form").Cells(i, 2).Value = y.Sheets("UploadTemplate").Cells(C2 + i).Value Else End If i = i + 1 Wend 

Здесь был оригинальный код, который я использовал вместо «Пока», но получал ВСЕ значения:

 If x.Sheets("Order Form").Range("B9").Value > 0 Then x.Sheets("Order Form").Range("A9:B200").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=x.Sheets("Order Form").Range("A11:B11"), CopyToRange:=y.Sheets("UploadTemplate").Range("B2:C2") _ , Unique:=False End If 

Попробуй это:

 Dim x As Workbook Dim y As Workbook dim yi as integer 'Open both workbooks Set x = Workbooks.Open(Me.txtSelect) Set y = Workbooks.Open(Me.txtOutput) Dim i As Integer i = 1 yi=2 While i < 200 'Extract data from sheet x into sheet y If x.Sheets("Order Form").Cells(i, 2).Value > 0 Then y.Sheets("UploadTemplate").Cells(yi,2).Value=x.Sheets("Order Form").Cells(i, 1).Value y.Sheets("UploadTemplate").Cells(yi,3).Value=x.Sheets("Order Form").Cells(i, 2).Value yi = yi + 1 End If i = i + 1 Wend 

Вам нужен второй счетчик во второй книге, как если бы вы пропускали строки в первой книге, потому что они пусты, вы не хотите делать то же самое во второй книге (я полагаю)

Вам также необходимо убедиться, что вы берете значения из первого листа и присваиваете их второму листу. например. Y получает значение из X – Y = X

Давайте будем гением компьютера.