-1

Допустим, я создал шаблон Excel с поддержкой макросов. В этом шаблоне я создаю подпрограмму для получения строкового значения и присваиваю его переменной, скажем, var_1 в подпрограмме. Я сохраняю шаблон и закрываю Excel.
Теперь, когда я в следующий раз запустлю Excel и загрузлю шаблон, я хочу, чтобы vlaue в var_1 в определенной ячейке, скажем, A1 .
Ячейка должна быть заполнена, как только шаблон завершит загрузку. Как мне это сделать?

РЕДАКТИРОВАТЬ: значение var_1 может меняться каждый раз, когда открывается книга (шаблон).

Спасибо.

1 ответ1

0

Соманна, вы можете попробовать этот код VBA, позаботьтесь о том, как передать значение в переменную и записать в Cell.

Private Sub Workbook_Open()

   Application.ScreenUpdating = False

    Dim InCell As Integer

    For InCell = 1 To 5 Step 1
        Cells(InCell, 1).Value = _
            InputBox("Enter the value", "New Value,,,")
    Next InCell
    Application.ScreenUpdating = True
End Sub

Как это устроено:

  • Откройте файл шаблона, нажмите Alt+F11, чтобы открыть редактор VB.
  • В левом верхнем углу найдите Project Explorer, щелкните значок этой рабочей книги .
  • Скопируйте и вставьте этот код обратно в рабочую таблицу.
  • Закройте рабочую книгу и откройте ее снова, этот код всплывет в поле ввода.

  • Запишите значение, которое вы хотите заполнить в ячейках.

NB

  • Поскольку это Workbook Open event поэтому каждый раз, когда вы открываете шаблон, Excel будет читать код, чтобы получить различное значение для переменной для записи в ячейку.
  • Для цикла с 1 To 5 Step 1 определяет, что Input Box появляется 5 раз (оно редактируется).

Предположим, с 1 To 5 Step 2 тогда код будет запрашивать только 3 значения, поскольку он записывает назначенное значение после пропуска одной пустой строки (в строках 1, 3 и 5).

  • InCell, 1 , здесь 1 для Column 1 , означает A , который можно редактировать. (для Col B это должно 2).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .