Как сохранить границы осей в Excel после запуска макроса? - PullRequest
0 голосов
/ 09 июля 2019

Я работаю над проектом Excel, в котором у меня есть диаграмма с осью Y и осью X. В Excel я вижу, что могу изменить формат оси и выбрать минимальный масштаб и максимальный масштаб, как показано на скриншоте ниже:

enter image description here

Моя процедура следующая:

Шаг 1: Запустите макрос test1 (), который заполняет данные на графике1 Шаг 2: Посмотрите на график 1 и решите, следует ли изменить минимальный и максимальный масштаб или нет. Если да, измените значения, используя Excel «Format Axis» в картинке выше. Шаг 3: Запустите еще раз тот же макрос test1 () (этот шаг обязателен)

Тем не менее, после установки значений осей, как требуется, когда я запускаю test1 (), значения, кажется, сбрасываются до их исходного значения (отбрасывается значение, которое я ввел вручную для обеих осей)

Может кто-нибудь сказать мне, как обеспечить, чтобы Excel сохранял введенные мной значения как минимальный и максимальный масштаб, даже когда я запускаю макрос?

Спасибо:)

1 Ответ

0 голосов
/ 09 июля 2019

Расширение комментария, чтобы объяснить, где будет проверяться min / max.

Option Explicit
Public MIN as Long, MAX as Long
'
Public Sub CallUF()
    UserForm1.Show
End Sub

'Call test1 from the COmmandbutton in the UF
Private Sub test1()
    'run your other code then use this to format after the fact
    MIN = UserForm1.Textbox1.Value
    MAX = UserForm1.Textbox2.Value
    If MIN > 0 And MAX > 0 then
        myChart.Axes(xlValue).MinimumScale = MIN 'copied from cybernetic's comment
        myChart.Axes(xlValue).MaximumScale = MAX 'copied from cybernetic's comment
    End If
End Sub

MIN и MAX будут сохраняться и использоваться для других графиков, созданных с использованием test1.

Вы можете использовать пользовательскую форму или поле ввода для получения значений MIN / MAX, и можете запустить загрузку пользовательской формы / поля ввода в начале кода, чтобы вы могли либо вывести список 0, чтобы он по умолчанию усилие или используйте значения (которые будут введены как известные).

Возможно, вы захотите построить некоторую логику о том, когда нужно извлекать пользовательскую форму / поле ввода, чтобы вы не перезаписывали их в будущем (или вы можете заполнить их MIN и MAX при запуске UserForm).

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