Вы должны вызвать событие изменения html в раскрывающемся списке. Для этого вы должны сохранить раскрывающийся список html как объектную переменную. Таким образом, вы можете передать его необходимой функции для запуска событий html.
Я прокомментировал соответствующие части кода:
Sub test()
Dim IE As Object
Dim nodeDropDown As Object 'Needed to set the dropdown as DOM Object
Dim doc As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate ("https://www.fakturowo.pl/wystaw")
Do While IE.ReadyState <> 4: DoEvents: Loop
Set doc = IE.Document
'set the dropdown as DOM object
Set nodeDropDown = doc.getElementById("rodzaj")
'Change the value of the dropdown
nodeDropDown.Value = 26
'Trigger the html change event of the dropdown
Call TriggerEvent(doc, nodeDropDown, "change")
'Wait to load the page new after changing the dropdown value
Application.Wait (Now + TimeSerial(0, 0, 5))
doc.getElementById("miasto").Value = "XYZ"
doc.getElementById("nazwa_sprzedawca").Value = "XYZ"
doc.getElementById("ulica_sprzedawca").Value = "XYZ"
End Sub
Это процедура запуска события html
Private Sub TriggerEvent(htmlDocument As Object, htmlElementWithEvent As Object, eventType As String)
Dim theEvent As Object
htmlElementWithEvent.Focus
Set theEvent = htmlDocument.createEvent("HTMLEvents")
theEvent.initEvent eventType, True, False
htmlElementWithEvent.dispatchEvent theEvent
End Sub