Как удалить/удалить пустую строку в excel с помощью скрипта VB

Вопрос:

У меня есть скрипт, в котором я буду сравнивать две данные excel и буду писать соответствующие данные в третьем excel. Скрипт отлично работает и записывает соответствующие данные в третье. Проблема в том, что он создает пустую строку для несовпадающих данных. Не знаю, как удалить пустую строку или как я могу помешать ей писать пустые данные.

  • В первой "C:\Excelone.xls" Excel "C:\Excelone.xls" значение столбца A равно 1,2,3,4,5,6
  • Во второй "C:\Exceltwo.xls" Excel "C:\Exceltwo.xls" значение столбца A равно 1, ab, 3, ac, 5,6
  • поэтому после сравнения выход в третьем рабочем месте excel (столбец A) записывается как 1, Empty, 3, Empty, 5,6

Моя требуемая мощность составляет 1,3,5,6

Пожалуйста, помогите мне в решении проблемы. Пожалуйста, найдите приведенный ниже сценарий

            Set myxl = createobject("excel.application")
myxl.Workbooks.Open "C:\Excelone.xls"
myxl.Application.Visible = true
set mysheet = myxl.ActiveWorkbook.Worksheets("Sheet1")
Set myx2 = createobject("excel.application")
myx2.Workbooks.Open "C:\Exceltwo.xls"
myx2.Application.Visible = true
set mysheet1 = myx2.ActiveWorkbook.Worksheets("Sheet1")
Set myx3 = createobject("excel.application")
myx3.Workbooks.Open "C:\Excelthree.xls"
myx3.Application.Visible = true
set mysheet3 = myx3.ActiveWorkbook.Worksheets("Sheet1")
row=0

'With mysheet.UsedRange
For each search_data in mysheet.UsedRange
row = row+1
For each search_data1 in mysheet1.UsedRange
If search_data=search_data1    Then

mysheet3.cells(row,1).value=search_data1

Exit For
End If
Next
Next
'End With

myxl.ActiveWorkbook.Save
myxl.ActiveWorkbook.Close
myxl.Application.Quit
Set mysheet =nothing
Set myxl = nothing

Лучший ответ:

Попробуйте переместить свой счетчик (row = row+1) внутри цикла, где есть успешное совпадение, т.е.

For each search_data in mysheet.UsedRange   
'row = row+1            
   For each search_data1 in mysheet1.UsedRange
            If search_data=search_data1  Then  
                    row = row+1 
                    mysheet3.cells(row,1).value=search_data1
                    Exit For 
            End If 
   Next
Next    

Оцените статью
TechArks.Ru
Добавить комментарий