在vba XML导入后将空行插入到表中

时间:2018-11-19 11:46:57

标签: excel xml vba excel-vba

我正在尝试编写一个宏,该宏将具有预定义列的Excel文件中的特定XML数据导入到现有XML映射中。并非所有XML数据都应该导入到工作表中。我以前在下面没有问题地使用过这种方法。但是,我注意到该宏花了很长时间才能运行,然后才意识到,包含XML数据的表在XML数据结束之后一直插入空行,一直到Excel工作表的结束行。当我手动导入时,不会发生这种情况。

如何确保保存xml数据的表没有扩展到Excel工作表的末尾?我在俯视什么吗?

我的宏代码:

Sub importXML()

'Define worksheets
Dim ws1 As Worksheet: Set ws1 = Sheets("XML_data")

Application.ScreenUpdating = False

'Finding last row in tabel
lastRow = ws1.Range("A1").Offset(ws1.Rows.Count - 1, 0).End(xlUp).Row

'Deleting old xml map data
If lastRow > 2 Then
    ws1.Range("A2:H" & lastRow).EntireRow.Delete
End If

'Define separators and apply.
Application.DecimalSeparator = "."
Application.ThousandsSeparator = ","
Application.UseSystemSeparators = False

fileToOpen = Application.GetOpenFilename("XML Files (*.xml), *.xml", , "Import XML", , True)

Application.DisplayAlerts = False
If IsArray(fileToOpen) Then
    For Each fil In fileToOpen
        ActiveWorkbook.XmlMaps("myXmlMap").Import URL:=fil
    Next fil
Else
    Exit Sub
End If
Application.DisplayAlerts = True

Application.UseSystemSeparators = True

End Sub

0 个答案:

没有答案