2016-06-23 2 views
0

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

Sub WorkDay1() 
ActiveSheet.Range("A6:H44").Value = Worksheets("Route Sheet - Manhattan 1").Range("A6:H44").Value 

End Sub 
Sub WorkDay2() 

ActiveSheet.Range("A6:H44").Value = Worksheets("2").Range("A6:H44").Value 
End Sub 


Sub WorkDay3() 
ActiveSheet.Range("A6:H44").Value = Worksheets("3").Range("A6:H44").Value 
End Sub 

Sub WorkDay4() 
ActiveSheet.Range("A6:H44").Value = Worksheets("4").Range("A6:H44").Value 
End Sub 

ответ

0

Если предположить, что выпадающий список находится в ячейке A1.

Вставьте этот код в модуль кода рабочих таблиц.

 
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    Application.EnableEvents = False 
    If Not Intersect(Target, Range("A1")) Is Nothing Then 
     Select Case Target.Value 
      Case "WorkDay1" 
       WorkDay1 
      Case "WorkDay2" 
       WorkDay2 
      Case "WorkDay3" 
       WorkDay3 
      Case "WorkDay4" 
       WorkDay4 
     End Select 
    End If 
    Application.EnableEvents = True 
End Sub 

В проекте VBA исследуйте двойной щелчок на листе, на котором вы хотите запустить макрос. Это откроет модуль кода для этого листа. Затем вставьте код в этот модуль.

enter image description here

Добавление этого colud будет обновлять значения при выборе рабочего листа.

 
Private Sub Worksheet_Activate() 
    Select Case Range("A1") 
     Case "WorkDay1" 
      WorkDay1 
     Case "WorkDay2" 
      WorkDay2 
     Case "WorkDay3" 
      WorkDay3 
     Case "WorkDay4" 
      WorkDay4 
    End Select 
End Sub 
+0

Привет, что мне делать с выбором рабочего листа? Я ввел его, но он все еще не выполняет действие. Я отредактировал ячейку к соответствующей ячейке, которую я был в J7, но мне нужно указать, какой рабочий лист им запускать? Довольно много, добавляя его к активному листу –

+0

, вы видели мой комментарий? –

+0

Спасибо! Он работает так: быстро q tho, он не запускается автоматически после его нажатия на список. Мне пришлось бы вернуться к списку и отследить его, чтобы он заполнил форму - любые предложения? –

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