Я хотел бы найти в электронной таблице отчетности (A) дату, а затем выполнить поиск этой даты в электронной таблице источника данных (B).После обнаружения я хотел бы скопировать и вставить данные (из той же строки, что и дата) в соответствующую дату в электронной таблице отчетности (A).
Некоторые условия:
- После использования данные из электронной таблицы источника данных (B) не могут быть повторно использованы, и поэтому я хочу найти следующую строку с той же датой ...
- по этой причине я использую макрос (в противном случае я бы просто использовал vlookup)
Я новичок в VBA, поэтому я пытался использовать некоторые циклы в комбинации, ноЯ неудачен
Я хочу знать, есть ли более простой способ сделать это?
Sub DataToRegister()
Dim Row As Double 'row is the row variable for the destination spreadsheet
Dim i As Double
Dim x As Integer 'x is the row variable for the source spreadsheet
For Row = 1 To 825
i = Sheets("Register Data Fields").Cells(Row, 1)
While i <> DateSerial(1900, 1, 0)
'DateSerial(1900, 1, 0) --> this is the default for no data in the field, i.e. i want to skip these
For x = 1 To 825
If Sheets("HANSON DATA").Cells(x, 2) = Sheets("Register Data Fields").Cells(Row, 1) Then
Sheets("HANSON DATA").Select
Cells(x, 1).Select
Selection.Copy
Sheets("Register Data Fields").Select
Cells(Row, 22).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Next
Next
Wend
End If
End Sub
Я получаю следующие ошибки:
Next
без for
x2 wend
без while
i
несоответствие типа переменной