如何使用VB脚本删除/删除Excel中的空白行

我已经在脚本中,我将比较两个Excel数据,并将写入第三个Excel中的匹配数据。 脚本完美工作,并写入匹配数据到第三个Excel。 问题是它会为不匹配的数据创build一个空行。 不知道如何删除空行或如何防止它写入空的数据。

  • 在第一个Excel工作簿"C:\Excelone.xls" ,列A值是1,2,3,4,5,6
  • 在第二个Excel工作簿"C:\Exceltwo.xls" ,列A值是1,ab,3,ac,5,6
  • 所以经过比较,第三个excel工作表(A列)的输出写为1,空,3,空,5,6

我需要的输出是1,3,5,6

请帮我解决这个问题。 请find下面的脚本

  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