更新代碼&問題: 模塊中的當前代碼此表如下:VBA在一個下拉列表中選擇的每個選項
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B2:B2")) Is Nothing Then
Application.Run "MonthlyRead"
End If
End Sub
Sub MPrintAll()
Dim c As String
Dim MonthlyList As Range
Set MonthlyList = Worksheets("Monthly").Range("MonthlyList").Cells
For Each cell In MonthlyList
Range("b2").Value = cell.Value
ActiveWorkbook.Worksheets("Monthly").PrintOut
Next cell
End Sub
我一直在逐步執行代碼,嘗試找出問題發生的地方。當我在「Range(」b2「)。Value = cell.Value」後按F8時,它立即轉到表單的第一行代碼,完全跳過了Print命令。此外,它刪除命名範圍中的第一個值,而不是將其複製粘貼到單元格B2。
以供參考,在這裏是通過上面的第一個程序調用模塊1代碼:
Sub MonthlyRead()
Call MEFTPS
Call MUCT6
End Sub
Sub MEFTPS()
If Range("a2").Value = "EFTPS Package" Then
Call MShow
Else: Call MHide
End If
End Sub
Sub MHide()
Rows("20:20").Select
Selection.EntireRow.Hidden = True
Rows("31:31").Select
Selection.EntireRow.Hidden = True
Rows("42:42").Select
Selection.EntireRow.Hidden = True
Rows("53:53").Select
Selection.EntireRow.Hidden = True
Range("B2").Select
End Sub
Sub MShow()
Rows("20:20").Select
Selection.EntireRow.Hidden = False
Rows("31:31").Select
Selection.EntireRow.Hidden = False
Rows("42:42").Select
Selection.EntireRow.Hidden = False
Rows("53:53").Select
Selection.EntireRow.Hidden = False
Range("B2").Select
End Sub
Sub MUCT6()
If Range("g3").Value = "Y" Then
Call UCT6MShow
Else: Call UCT6MHide
End If
End Sub
Sub UCT6MHide()
Rows("19:19").Select
Selection.EntireRow.Hidden = True
Rows("30:30").Select
Selection.EntireRow.Hidden = True
Rows("41:41").Select
Selection.EntireRow.Hidden = True
Rows("52:52").Select
Selection.EntireRow.Hidden = True
Range("B2").Select
End Sub
Sub UCT6MShow()
Rows("19:19").Select
Selection.EntireRow.Hidden = False
Rows("30:30").Select
Selection.EntireRow.Hidden = False
Rows("41:41").Select
Selection.EntireRow.Hidden = False
Rows("52:52").Select
Selection.EntireRow.Hidden = False
Range("B2").Select
End Sub
我與填充個性化的付款時間表動態工作表時,根據從選擇數據驗證下拉列表在頁面的頂部。下拉列表中大約有300個選項。然後打印這些時間表,以驗證從其他兩個程序獲得的信息,所有這些程序都必須在一天內打印,複印,掃描,打包和郵寄。
我正在尋找VBA代碼,可以從列表的開頭到結尾從下拉列表中選擇每個客戶端名稱。該列表從名爲「QtrlyList」的另一張表上的命名範圍填充。
我有一些非常簡單的代碼,這是行不通的。
Sub PrintAll()
For Each cell In QtrlyList
Worksheets("Normal").PrintOut
Next cell
End Sub
每當我嘗試運行代碼時,出現「類型不匹配」錯誤。我相當肯定這是來自「細胞」或「QtrlyList」。我只是不知道如何解決它。
什麼樣的下拉的是它的工作? –
這是一個數據驗證下拉列表,從命名範圍填充。 – ABlevins
是你所有的代碼嗎?如果你正在通過名字範圍內的單元格,我相信你需要'Range(「QtrlyList」)'作爲初學者。 – thornomad