Codigo VBA para pausar macro
Todos tengo una macro que desde Excel va a SAP y me genera un reporte, funciona bien hasta que agrego más compañías al reporte y este se demora mas para exportar a Excel, al final la macro no para y cierra SAP sin guardar el archivo en mi PC
Sub SAPCost()
Sheets("Data").Select
Dim application
Dim connection
If Not IsObject(application) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
Set connection = application.Children(0)
End If
If Not IsObject(session) Then
Set session = connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject application, "on"
End If
session.findById("wnd[0]/tbar[0]/okcd").Text = Sheets("Data").Range("F16")
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/btn%_BUKRS_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/tbar[0]/btn[16]").press
Sheets("CoCo").Select
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Selecte
Selection.Copy
Sheets("Data").Select
session.findById("wnd[1]/tbar[0]/btn[24]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/usr/btn%_SO_ANLKL_%_APP_%-VALU_PUSH").press
session.findById("wnd[1]/tbar[0]/btn[16]").press
Sheets("Asset class").Select
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Data").Select
session.findById("wnd[1]/tbar[0]/btn[24]").press
session.findById("wnd[1]/tbar[0]/btn[8]").press
session.findById("wnd[0]/usr/ctxtBERDATUM").Text = Sheets("Data").Range("F17")
session.findById("wnd[0]/usr/ctxtBEREICH1").Text = Sheets("Data").Range("F18")
session.findById("wnd[0]/usr/ctxtSRTVR").Text = Sheets("Data").Range("F19")
session.findById("wnd[0]/usr/ctxtPA_GITVS").Text = Sheets("Data").Range("F21")
session.findById("wnd[0]/usr/ctxtPA_GITVS").SetFocus
session.findById("wnd[0]/usr/ctxtPA_GITVS").caretPosition = 4
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[33]").press
session.findById("wnd[1]/tbar[0]/btn[71]").press
session.findById("wnd[2]/usr/chkSCAN_STRING-START").Selected = False
On Error Resume Next
session.findById("wnd[2]/usr/chkSCAN_STRING-RANGE").Selected = False
On Error Resume Next
session.findById("wnd[2]/usr/txtRSYSF-STRING").Text = Sheets("Data").Range("F22")
On Error Resume Next
session.findById("wnd[2]/usr/chkSCAN_STRING-RANGE").SetFocus
session.findById("wnd[2]/tbar[0]/btn[0]").press
session.findById("wnd[3]/usr/lbl[1,2]").SetFocus
session.findById("wnd[3]/usr/lbl[1,2]").caretPosition = 6
session.findById("wnd[3]").sendVKey 2
session.findById("wnd[1]/tbar[0]/btn[0]").press
session.findById("wnd[0]/mbar/menu[0]/menu[1]/menu[1]").Select
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = Sheets("Data").Range("F15")
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = Sheets("Data").Range("G14")
session.findById("wnd[1]/usr/ctxtDY_FILENAME").caretPosition = 9 '22
session.findById("wnd[1]/tbar[0]/btn[11]").press ' CODIGO PARA HACER CLICK EN GUARDAR, ACA SE DEMORA MIENTRAS TRANFIERE LOS PAQUETES DE DATOS DE SAP a Excel
session.findById("wnd[0]/tbar[0]/btn[12]").press 'codigo para volver a la pestaña inicial de SAP
session.findById("wnd[0]/tbar[0]/btn[12]").press 'codigo para volver a la pestaña inicial de SAP
End Sub