vba script hangs at Workbook.Close
excel, vba
Solution
The problem is that you are not giving Excel enough time to finish it's operations. Usually a `DoEvents` will solve the problem. Also to avoid confusion, you might want to name your variable as `wbk' instead of 'Workbook'
Sub hello()
Dim obj As Object, wbk As Object
Set obj = CreateObject("Excel.Application")
Set wbk = obj.Workbooks.Open("C:\Users\gbuday\Desktop\Oktatás\Excel\start.xlsx")
wbk.Worksheets("Munka1").Range("B3") = "Hello World!"
DoEvents
'~~> Change True to False if you do not want to save
wbk.Close SaveChanges:=True
Set wbk = Nothing: Set obj = Nothing
End Sub
Problem
I am trying to write a hello world application in Visual Basic for Applications, namely, to modify a cell in an Excel sheet. Here it is: ``` Sub hello() Dim obj As Object Dim Workbook As Object Set obj = CreateObject("Excel.Application") Set Workbook = obj.Workbooks.Open("C:\Users\gbuday\Desktop\Oktatás\Excel\start.xlsx") Workbook.Worksheets("Munka1").Range("B3") = "Hello World!" Workbook.Close Set Workbook = Nothing Set obj = Nothing End Sub ``` When running, Excel hangs and I cannot stop the script running, only kill the excel process. Debugging it, it hangs at the `Workbook.Close` line. What is the problem with that line?