Как отобразить сообщение о состоянии при вызове различных макросов Excel? - PullRequest
1 голос
/ 06 мая 2019

У меня есть кнопка, которая обновляет сводную таблицу и вызывает 3 разных макроса Excel, которые выполняют большие обновления данных.Я хотел бы отобразить сообщение об обновлении между каждым макросом, чтобы сообщить пользователю, какая часть данных обновляется.

Sub Button11_Click()
'Update Volumes
    Set pt = Sheets("PRE Vol. Data").PivotTables("PRE Volumes")
With pt
    .RefreshTable
End With
'Update Uniformance
    Call PullUniformanceData
'Update All Pad Data
    Call FillDowntoDate_Click
'Update OE Line Data
    Call FillDowntoDateLineData_Click
End Sub

Можно ли использовать пользовательскую форму для предоставления обновлений?Мне бы хотелось, чтобы обновление гласило «Шаг обновления 1/4».

1 Ответ

0 голосов
/ 06 мая 2019
Sub Button11_Click()
   'Update Volumes
    Set pt = Sheets("PRE Vol. Data").PivotTables("PRE Volumes")
    With pt
      .RefreshTable
    End With
    UpdateMessage("Refresh table complete")

    'Update Uniformance
     Call PullUniformanceData
     UpdateMessage("Uniformance Data Complete")

    'Update All Pad Data
     Call FillDowntoDate_Click
     UpdateMessage("DowntoDate complete")
    'Update OE Line Data
     Call FillDowntoDateLineData_Click
     UpdateMessage("DowntoDateLine Data Complete")

     UpdateMessage("All Macros completed")
End Sub

Sub UpdateMessage(strMessage As String)
    ''assuming you have form "frmMain"setup with a text box
    frmMain.txtStatus.Caption = strMessage

    '' If you dont have a form, then use a cell that you prefer
    set ws = Sheets("Sheet1") 'update here the sheet you want to show
    set loc = ws.cells(1,1)' update here to point to the cell you want the message to show

    loc.Value = strMessage
    DoEvents ' dont forget this call

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...