2017-10-04 48 views
0

打印在下拉菜單中的所有選項在Excel我在Excel中的一個員工記分卡,基本上它看起來像這樣: enter image description here如何通過VBA

所以小區B2是一個下拉列表(數據驗證單元)從另一個選項卡(選項卡2,A1:A1000列)中讀取員工姓名,因此在用戶選擇不同名稱後,這些核心度量標準將刷新(生成這些度量標準的數據已經鏈接到數據源)。

enter image description here

監會打印該記分卡和跟他們的員工。

然而,有超過數百名員工,所以我不知道是否有任何簡單的方法通過VBA,可以打印下拉列表中的每個員工的所有選項。我在谷歌搜索了一些搜索,並找不到任何東西爲我工作。

非常感謝

+0

B2是數據驗證單元還是您使用了下拉框? – mooseman

+0

它是一個數據驗證單元,很抱歉造成混亂 –

+0

是否要在不同的頁面上打印每個員工? – mooseman

回答

2

以下是迭代數據驗證單元的代碼。根據需要更改工作表名稱和單元格引用。 您必須添加爲/個/下一個循環

​​
1

內打印代碼如果您想通過框列表進行迭代:

我把這個一起給你。我沒有時間測試,但應該可以工作。您需要用您的控件名稱替換「ComboBox1」。您還需要將el.Name = "EmployeeList"更改爲正確的工作表名稱。

Sub printEmployees() 
    On Error GoTo catch 
    Err.Clear 
    GoTo try 

try: 
    Dim el, sc As Worksheet 


    Set sc = ActiveSheet 
    Set el = Sheets.Add 
    el.Name = "EmployeeList" 

    sc.Activate 

    i = 0 
    For Each lItem In Me.ComboBox1.List 
     el.Cells(1, i) = Me.ComboBox1.List(i) 
    i = i + 1 
    Next 

    el.PrintOut 

finally: 
    On Error Resume Next 

    Application.DisplayAlerts = False 
    el.Delete 
    Application.DisplayAlerts = True 
    Set sc = Nothing 
    Set el = Nothing 
    Exit Sub 

catch: 

    MsgBox Err.Description 
    Resume finally 

End Sub