gpt4 book ai didi

vba - Excel 2013 中的扩展工作表选择 - VBA

转载 作者:行者123 更新时间:2023-12-03 17:39:48 24 4
gpt4 key购买 nike

您能否帮助理解为什么此代码在旧版本的 Excel 中有效,但在 Excel 2013 中无效?带有 replace:=false 的行被忽略。是否与某些中心设置有关?应该修改什么?

Sub test()
Dim i
Dim n

n = InputBox("type n")

For i = 1 To n
If i = 1 Then ThisWorkbook.Sheets(i).Select
If i > 1 Then ThisWorkbook.Sheets(i).Select Replace:=False
Next i
End Sub

最佳答案

我在 Excel 2013 中尝试了您的代码。可能的原因可能是 ThisWorkbook 不是事件工作簿或工作表不可见。您应该只在事件工作簿上使用选择功能。请参阅下面更新的代码 - 我在带有隐藏工作表的工作簿中使用它并且它有效。查看 VBA 编辑器 (Ctrl+G) 中的即时窗口以查看调试消息。请注意,隐藏的工作表也适用于您的变量“n”。希望能帮助到你。

Sub test()
Dim i
Dim n
Dim foundFirstVisSheet As Boolean
foundFirstVisSheet = False

n = InputBox("type n")
Dim mySh As Worksheet


For i = 1 To n

Set mySh = ActiveWorkbook.Sheets(i)
If mySh.Visible = xlSheetVisible Then
If Not foundFirstVisSheet Then
foundFirstVisSheet = True
mySh.Activate
End If
Debug.Print mySh.Name & " is visible"
mySh.Select Replace:=False
Else
Debug.Print mySh.Name & " is invisible and cannot be selected"
End If

Next i
End Sub

关于vba - Excel 2013 中的扩展工作表选择 - VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39200486/

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