I have a macro, which I would like after the last msgbox and after clicking "YES" to go next part of macro (open file), but when i clicked YES Macro stops working without error, as if I didn't know what to do next.
Dim data_wb2 As Workbook
Beep
CarryOn = MsgBox("Czy Chcesz uzupełnić plik CMR - LRJ_MINIMAL?", vbYesNo, "Czy kontynuować?")
If CarryOn = vbYes Then
Else
GoTo Jump
MyFolder = "xxxxx"
MyFile = Dir(MyFolder & "\CMR - LRJ_MINIMAL_*.xlsx")
If MyFile <> "" Then
Set data_wb2 = Workbooks.Open(MyFolder & "\" & MyFile, UpdateLinks:=0)
Dim PvtKraje As PivotTable
Dim data_wb As Workbook
Jump:
Beep
CarryOn = MsgBox("Czy Chcesz uzupełnić plik xxxx_po krajach?", vbYesNo, "Czy kontynuować?")
If CarryOn = vbYes Then
Else
GoTo Jump_Sheet
MyFolderKRAJ = "xxxx"
MyFile = Dir(MyFolder & "\xxx_mm_yyyy_podział po krajach*.xlsx")
If MyFile <> "" Then
Set data_wb = Workbooks.Open(MyFolder & "\" & MyFile, UpdateLinks:=0)
CodePudding user response:
Your problem is not 100% clear for me but if you want to open the file after clicking 'yes' on the msgBox you do not need to work with jump functions.
I would avoid jump functions in general because it leads to confusing code.
You also need to end the If statement using End If.
Please also avoid using the same bool name CarryOn two times in one If statement
Pls try the following code:
CarryOn1 = MsgBox("Czy Chcesz uzupełnić plik CMR - LRJ_MINIMAL?", vbYesNo, "Czy kontynuować?")
If CarryOn1 = vbYes Then
Beep
CarryOn2 = MsgBox("Czy Chcesz uzupełnić plik xxxx_po krajach?", vbYesNo, "Czy kontynuować?")
If CarryOn2 = vbYes Then
MyFolder = "xxxxx"
MyFile = Dir(MyFolder & "\CMR - LRJ_MINIMAL_*.xlsx")
If MyFile <> "" Then
Set data_wb2 = Workbooks.Open(MyFolder & "\" & MyFile, UpdateLinks:=0)
End If
Else
GoTo Jump_Sheet
End If
Else
GoTo Jump_Sheet
End If
