То, что вы просите, не слишком сложно, но не так легко объяснить, если вы не привыкли использовать пользовательские формы и т. Д.
Вместо этого я предложил более упрощенное решение, которое может удовлетворить ваши потребности. Для целей этого решения я предполагаю, что все ваши упражнения перечислены в столбце A и повторы в столбце B. Следующий код случайным образом выберет упражнение, выделит выбранный вариант, а затем в столбце C отобразит обратный отсчет от 20 минут до 0 с интервалом в 1 минуту. В качестве визуализации:
A B C
1 Bench press 20 reps
2 Abs 10 reps
3 Lateral raise 15 reps 14 mins <-display of minutes remaining
4 Bicep curl 8 reps
5 Calf raise 10 reps
6 etc
Для этого сначала добавьте следующий код в модуль ( Alt + F11 , затем Вставка> Модуль )
Sub StartExercise()
'Get number of exercises
Dim NumberOfExercises As Integer
NumberOfExercises = Range("A1").End(xlDown).Row - 1
'Reset font to normal black and clear anything in column C
Range("A1:B" & NumberOfExercises + 1).Font.Bold = False
Range("A" & NumberOfExercises + 1 & ":" & "B" & NumberOfExercises + 1).Font.ColorIndex = 1
Range("C1:C" & NumberOfExercises + 1).Clear
'Select a random exercise
Dim RandomExercise As Integer
RandomExercise = Int(Rnd() * (NumberOfExercises - 1 + 1) + 1)
'Highlight selected exercise and reps
Range("A" & RandomExercise + 1 & ":" & "B" & RandomExercise + 1).Font.Bold = True
Range("A" & RandomExercise + 1 & ":" & "B" & RandomExercise + 1).Font.ColorIndex = 3
'Countdown from 20 minutes to 0
SetCountDown RandomExercise
End Sub
Sub SetCountDown(TargetCellRow As Integer)
Dim MinsRemaining As Integer
Dim iMins As Integer
MinsRemaining = 20
For iMins = MinsRemaining To 0 Step -1
Range("C" & TargetCellRow + 1).Value = iMins & " mins"
Application.Wait (Now + TimeValue("0:01:00"))
Next iMins
End Sub
Наконец, в вашей электронной таблице вам понадобится способ запуска кода.
Выберите Вид> Панели инструментов> Формы , а затем в меню нажмите Button
и нарисуйте его в любом месте таблицы. В диалоговом окне Назначить макрос вы должны увидеть «StartExercise» в качестве опции. Выберите эту опцию и нажмите ОК.
Теперь, когда вы нажмете на кнопку, вы увидите упражнение, и количество повторений будет выделено жирным шрифтом, рядом с ним появится красный шрифт и «20 минут». Это будет обратный отсчет до 0 минут. Если вы затем нажмете кнопку, вы можете начать все сначала со случайного упражнения.
Надеюсь, это поможет.