Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Macro to press a button in the Ribbon Menu

Tags:

excel

vba

In a specific Excel sheet, I would like to have a macro to reach the "Analysis" button on Excel Ribbon and then to press a specific button "Alles aktualisieren". You can see the screenshot for the clarification.

enter image description here

Analysis tab is an add-on of SAP-BI, so it is not an Standard Excel tab.

As one of the users suggested me, I recorded the macro, and I got the following Code, but when I run the macro, it is not working.

Sub Makro1()


Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Selection.UnMerge
Selection.UnMerge
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")
Application.Run Range("CallbackWorkbookSaved")

End Sub
like image 670
M. Salem Avatar asked Dec 07 '25 04:12

M. Salem


1 Answers

Use the SAP API:

Public Sub SAP_Daten_aktualisieren()
Dim lResult As Variant

Application.StatusBar = Now & " Daten auf Afo-Blättern werden aktualisiert.."
DoEvents


lResult = Application.Run("SAPExecuteCommand", "Refresh", "All")
If lResult <> 1 Then
    Application.StatusBar = Now & " Problem beim Aktualisieren der SAP Daten "
    MsgBox "Fehler beim Aktualisieren der SAP Daten. SAPCode= " & lResult, vbCritical
Else
    Application.StatusBar = Now & " Fertig: SAP Daten wurden erfolgreich aktualisiert "
End If

End Sub
like image 157
TomFarmer Avatar answered Dec 08 '25 19:12

TomFarmer



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!