【发布时间】:2026-01-27 12:20:12
【问题描述】:
我必须根据该工作表是否与用户相关,在 Excel 中打印多张工作表。在一个名为“Sheet2”的工作表中,我在单元格 14 的 A 列中有工作表名称。 A 列中有 24 张不同名称的工作表。在每个相邻的单元格(B 列)中,我有 True 或 False。我希望打印在 B 列中有 True 的工作表。我可以一张一张地打印到工作表上,而不是将所有相关工作表作为一个文件同时打印。我使用的代码如下:
Sub CommandButton1_Click()
Dim wb As Workbook
Dim SheetsToPrint As String
Set wb = ThisWorkbook
Dim sheetWithData As Worksheet
Set sheetWithData = wb.Sheets("Sheet2")
Dim startNameRange, endNameRange As Integer
startNameRange = 14
endNameRange = 39
For i = startNameRange To endNameRange Step 1
Dim nameSheetToPrint As String
SheetsToPrint = sheetWithData.Range("A" & i).Value
Dim wsToPrint As Worksheet
Set wsToPrint = wb.Sheets(SheetsToPrint)
If sheetWithData.Cells(i, 2) = "True" Then
wsToPrint.PrintOut From:=1, To:=1
End If
Next i
End Sub
【问题讨论】:
-
请向我们展示您的第一次尝试。
-
因为这不是免费的代码编写服务,您需要先自己开始。进行一些重新搜索,然后返回您的代码尝试和特定问题。另请参阅No attempt was made。
-
大声笑,你的第一次尝试不应该是我的答案
-
嗯,是的,这实际上是我的第一次尝试。当我有一个部分工作的代码时,我为什么要制作一个不同的代码,即使它是你的。如果有人可以提出进一步的改变,那就太好了,否则就是这样。