код VBA для обновления состояния на основе каждого запуска макроса - PullRequest
0 голосов
/ 21 января 2019

У меня есть 3 макроса

  • макрос 1 для окончательной исходной таблицы
  • макрос 2 для процесса 1 лист
  • макрос 3 для листа графика

Можно ли обновить ячейку, например, в ячейке таблицы состояния B2, когда завершится макрос 1, затем на основе B2 будет запущен макрос 2, а после завершения макроса 2 будет обновлен B3, на основе которого будет запущен макрос 3 значения B3и как только макрос 3 будет завершен, он обновит B4.

возможно ли это?

Я могу запустить макрос на основе изменения значения в конкретной ячейке, но как мне обновить ячейку, когда макроспробег завершен?

Sub lastRow()

Dim wsS1 As Worksheet 'Sheet1
Dim wsS2 As Worksheet 'sheet2
Dim wsS3 As Worksheet 'sheet3

Dim lastR As Long, lastC As Long

Set wsS1 = Sheets("Input")
Set wsS2 = Sheets("Final Input")
Set wsS2 = Sheets("Status")

With wsS1
lastR = .Range("A" & .Rows.Count).End(xlUp).Row
End With

With wsS2
lastC = .Cells(3, Columns.Count).End(xlToLeft).Column
Range(.Cells(3, 1).Address, .Cells(3, lastC).Address).AutoFill 
 Destination:=Range(.Cells(3, 1).Address, .Cells(lastR, lastC).Address)

  With wsS3
 .Range ("B2" = completed)



End With
End Sub

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Вы можете просто добавить это к своему коду, и таблица состояния будет обновлена ​​для первого макроса

wsS3.Range("B2").Value = "complete"
0 голосов
/ 21 января 2019
Sub Macro1()
    ...do stuff
    Range("a1")=10  'log progress
    Macro2 10       'run next step, passing in some info    
End Sub

Sub Macro2(input)
    ...do stuff with 'input'
    Range("a2")=20
    Macro3 20
End Sub

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