Я пытаюсь написать макрос, который импортирует определенные данные XML в существующую карту XML в файле Excel с предопределенными столбцами.Предполагается, что не все данные 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