2015-12-23 3 views
-1

Я уверен, что это будет очень простой ответ для любого, у кого есть знания VBA (которых у меня нет). У меня есть форма, созданная для Excel в VBA. Это многозадачная форма, и я хочу, чтобы форма открывалась на первой вкладке, когда нажата кнопка «Открыть форму X» в Excel. Давайте назовем форму «Form1» и вкладку «IDTab»Открыть форму вкладок VBA в Excel на конкретную вкладку

Я пробовал следующий код, но ни работал:

Private Sub GetFormButton_Click() 
    Form1.Show With MultiPage1 Value = 0 
End Sub 

И

Private Sub BackToExclu_Click() 

With MultiPage1 
    .Value = (.Value - 1) Mod (.Pages.Count) 
End With 

End Sub 
+1

во-первых, добро пожаловать в SO. Во-вторых, пожалуйста, покажите нам свои усилия по кодированию, чтобы выполнить это самостоятельно. Это не «служба написания кода», а скорее форум для получения решений по существующему коду, который не работает. Для получения дополнительной информации см. [Как спросить] (http://stackoverflow.com/help/how-to-ask). В-третьих, вы даже попытались найти в Google решение? –

+0

Я попытался как 'Private Sub GetFormButton_Click() Form1.Show С MultiPage1 Value = 0 'и' Private Sub BackToExclu_Click() С MultiPage1 .Value = (.Value - 1) Mod (.стр. Count) Конец End Sub', и оба, казалось, не работали. Я пробовал Google, но я не был уверен, что точно, что я спрашивал, было правильно, и многие результаты, которые я получил, были связаны с Access 2003, не знали, работал ли VBA одинаково в обоих модулях (и на языке & синтаксис казался немного другим) – DRicke

+0

спасибо. Я поставил ваш код в исходном вопросе. –

ответ

0

Вы были очень близки, на самом деле:)

Если вы поместите код в Initiliaze Event внутри самой пользовательской формы, он всегда отображает первую страницу многостраничного элемента управления в любое время, когда форма загружается.

Private Sub UserForm_Initialize() 

    Me.MultiPage1.Value = 0 

End Sub 

Чтобы поместить этот код в модуль UserForm, щелкните правой кнопкой мыши на UserForm объекта в VBE и нажмите View Code.

Тогда ваш код кнопки нажмите будет просто:

Private Sub GetFormButton_Click() 
    Form1.Show 
End Sub 
0

Open у

  1. открыть свою книгу Excel
  2. найти вашу форму
  3. правой кнопку мыши на имени формы
  4. выберите "show program code"

В programcode для формы введите код ниже:

Private Sub UserForm_Activate() 
    MultiPage1.Pages("IDTab").Enabled = True 
End Sub 

Имейте в виду: MultiPage1 может называться по-разному в вашей форме. MultiPage1 является именем по умолчанию контейнера, содержащего страницы с вкладками в моей книге excel. В окне настроек вы можете найти фактическое имя этого контейнера.

+0

Спасибо, ребята. Похоже, что он работает. Я буду экономить и снова открывать несколько раз, чтобы убедиться, что он работает так, как должен. – DRicke

Смежные вопросы