Я создаю базу данных для моего друга. на 2 листах у меня есть список счетов, который вызывает данные из списка инвентаря на основе кода товара (используя Vloolup). Затем у меня есть формула VBA, которая перемещает данные из каждого счета-фактуры в таблицу данных счета-фактуры, которая содержит данные о каждой продаже. Это код, который я использую для переноса данных из каждого счета на лист "Данные счета".

Я включил копию страницы счета-фактуры, чтобы вы могли видеть, откуда тянет мой код

Option Explicit

Sub Button2_Click()

  Dim rng As Range
  Dim i As Long
  Dim a As Long
  Dim rng_dest As Range

  Application.ScreenUpdating = False
  'Check if invoice # is found on sheet "Invoice data"
  i = 1
  Do Until Sheets("Invoice data").Range("A" & i).Value = ""
    If Sheets("Invoice data").Range("A" & i).Value = Sheets("Invoice").Range("F4").Value Then
      'Ask overwrite invoice #?
      If MsgBox("Overwrite invoice data?", vbYesNo) = vbNo Then
        Exit Sub
      Else
        Exit Do
      End If
    End If
    i = i + 1
  Loop
  i = 1
  Set rng_dest = Sheets("Invoice data").Range("G:K")
  'Delete rows if invoice # is found
  Do Until Sheets("Invoice data").Range("A" & i).Value = ""
    If Sheets("Invoice data").Range("A" & i).Value = Sheets("Invoice").Range("F4").Value Then
      Sheets("Invoice data").Range("A" & i).EntireRow.Delete
      i = 1
    End If
    i = i + 1
  Loop
  ' Find first empty row in columns G:K on sheet Invoice data
  Do Until WorksheetFunction.CountA(rng_dest.Rows(i)) = 0
    i = i + 1
  Loop
  'Copy range B13:I38 on sheet Invoice
  Set rng = Sheets("Invoice").Range("B13:F32")
  ' Copy rows containing values to sheet Invoice data
 For a = 1 To rng.Rows.Count
    If WorksheetFunction.CountA(rng.Rows(a)) <> 0 Then
      rng_dest.Rows(i).Value = rng.Rows(a).Value
      'Copy Invoice number
      Sheets("Invoice data").Range("A" & i).Value = Sheets("Invoice").Range("F4").Value
      'Copy Date
      Sheets("Invoice data").Range("B" & i).Value = Sheets("Invoice").Range("F3").Value
      'Copy Company name
      Sheets("Invoice data").Range("C" & i).Value = Sheets("Invoice").Range("C7").Value
      'Copy Add
      Sheets("Invoice data").Range("D" & i).Value = Sheets("Invoice").Range("C8").Value
       'Copy PIN
      Sheets("Invoice data").Range("E" & i).Value = Sheets("Invoice").Range("C9").Value
      'Copy Phone
      Sheets("Invoice data").Range("F" & i).Value = Sheets("Invoice").Range("C10").Value
      i = i + 1
    End If
  Next a
  MsgBox ("Invoice saved!")
  Application.ScreenUpdating = True
  Sheets("Invoice").Range("F4").Value = _
    Sheets("Invoice").Range("F4").Value + 1
End Sub

Sub Button1_Click()
  UserForm1.Show
End Sub

Моя проблема в том, что когда я сохраняю каждый счет-фактуру, я получаю также все пустые строки в счете-фактуре:

0