2014-11-03 3 views
0

Я пытаюсь создать журнал производительности в Excel с отдельным рабочим листком для каждого из моих сотрудников. Я создал титульную страницу с помощью кнопки, чтобы добавить запись на другой рабочий лист, но только для этого листа. Есть ли способ, чтобы кнопка спросила, какой рабочий лист вставить эту запись.Создать новую запись на конкретном рабочем листе

В настоящее время кодирования, что у меня есть выглядят следующим образом:

Sub AddNewEntry() 

AddNewEntry Macro 

    Sheets("Blank").Select 
    Range("$A$6:$J$19").Select 
    Selection.Copy 
    Sheets("Sheet 1").Select 
    Range("$A$6").Select 
    Selection.Insert Shift:=xlDown 
    Range("$B$7:$C$7").Select 

End Sub 

Я хочу, чтобы заменить строку кода Sheets("Sheet 1").Select с новой строкой, что позволяет мне выбрать лист, я хочу либо из поля со списком или список.

+0

Если у вас есть комбинированный или список, вы можете использовать цикл «Для каждого», чтобы добавить к нему листы. –

ответ

0

ОК МАЙКЛ это должно вас заставить. Как комментировал @ jbarker2160, combobox кажется разумным вариантом, хотя вы также упоминаете кнопку «button». Предполагая, что у вас есть ActiveX Combobox, размещенный непосредственно на листе Sheet1, см. Ниже - я вернусь к вашей «кнопке» позже.

В модуле «ThisWorkbook» выберите событие «Открыть» и вставьте этот код :

With Sheets("Sheet1").ComboBox1 
    .Clear 
     For Each ws In Sheets 
      .AddItem ws.Name 
     Next 
     .Value = "Sheet1" 
End With 

Это будет заполнять выпадающие списки при открытии книги.

В модуле «Лист1» выберите событие «Рабочий лист» -> «Активировать» и вставьте тот же код, что и выше. Это будет повторно заполнять combobox всякий раз, когда Sheet1 будет повторно выбран, на всякий случай, если вы удалили или добавили новые рабочие листы.

В модуле «Лист1», выберите «ComboBox1» -> «Изменить» событие и вставить в код ниже:

Dim sht As String 
    If ComboBox1.Value = "" Then ComboBox1.Value = "Sheet1" 
sht = ComboBox1.Value 
Sheets(sht).Select 

Это будет выбрать рабочий лист, который вы выбрали из выпадающего списка ,

Вы можете просто удалить строку Sheets("Sheet 1").Select.

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

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