gpt4 book ai didi

vba - ThisWorkbook.Sheets(1).Select (False) 不起作用

转载 作者:行者123 更新时间:2023-12-02 06:10:22 24 4
gpt4 key购买 nike

我的一段代码已经运行了 3 年多了。 2016年7月28日突然停止工作了。

非常简单,我希望这是一个简单的解决方案(或者可能是 Microsoft 更新破坏了它)

ThisWorkbook.Sheets(1).Select
ThisWorkbook.Sheets(2).Select (False) ' like holding ctrl

这将始终选择工作表 #1 和工作表 #2。现在看来“(False)”不起作用,它只会选择工作表#1。我已在 5 台不同的计算机(全部为 Excel 2013)上尝试过此操作,请让我知道发生了什么。

谢谢!-迈克

编辑:这也不再起作用了。正如乔丹在评论中所说,它只是不执行。

y = 9
ThisWorkbook.Sheets(1).Select

For y = 2 To x

ThisWorkbook.Sheets(y).Select (False) ' like holding ctrl

Next y

编辑2:由于似乎没有明确的答案,我会询问是否有人可以帮助我解决方法:

ThisWorkbook.Sheets(Array(1 to x)).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
FolderName & "\" & QuoteFilename, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False

显然这不起作用,但它应该能表达我的观点。

解决方案:

感谢拉尔夫,我摘录了一些内容并创建了这个:

Private Sub Tester()
x = 5
ReDim SheetstoSelect(1 To x) As String

For y = 1 To x
SheetstoSelect(y) = ThisWorkbook.Sheets(y).Name
Next y
ThisWorkbook.Sheets(SheetstoSelect).Select

End Sub

这会从 1-5 中选择实际的工作表#,并允许定义工作表以按其实际工作表顺序进行选择。

仍然不知道最初问题的根源,但解决方法同样好。

最佳答案

以下代码行将选择调用宏的工作簿中的所有工作表:

Option Explicit

Public Sub SelectAllSheetsInThisFile()

Dim x As Long
Dim SheetstoSelect() As String

ReDim SheetstoSelect(1 To ThisWorkbook.Worksheets.Count)

For x = 1 To ThisWorkbook.Worksheets.Count
SheetstoSelect(x) = ThisWorkbook.Worksheets(x).Name
Next x
ThisWorkbook.Worksheets(SheetstoSelect).Select

End Sub

以下子内容将仅选择您在原始帖子中要求的两张表:

Option Explicit

Public Sub SelectYourSheets()

Dim SheetstoSelect(1 To 2) As String
SheetstoSelect(1) = ThisWorkbook.Worksheets(1).Name
SheetstoSelect(2) = ThisWorkbook.Worksheets(2).Name
ThisWorkbook.Worksheets(SheetstoSelect).Select

End Sub

如果您希望将所有内容都放在一行中,那么您还可以使用 split 动态创建一个数组,如下所示:

ThisWorkbook.Worksheets(Split("Sheet1/Sheet3", "/")).Select

这行代码将选择两个名为Sheet1Sheet3的工作表。我选择了分隔符 / 因为该字符不能在工作表名称中使用。

顺便说一句:我同意@BruceWayne 的观点。您应该尽量避免完全使用select(如果可能)。

关于vba - ThisWorkbook.Sheets(1).Select (False) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38724223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com