gpt4 book ai didi

excel - 选择工作表时出现错误 1004 - 'select method of worksheet class failed'

转载 作者:行者123 更新时间:2023-12-03 01:31:31 32 4
gpt4 key购买 nike

您好,我的代码有问题,在其最后部分收到以下错误:

Error 1004 - 'select method of worksheet class failed'

该代码基本上是在 3 个不同选项卡中执行操作的相同代码的重复,问题发生在最后一个选项卡 (sheet21),我无法理解为什么,因为它适用于其他 2 个选项卡没问题。

因此,每个选项卡的代码看起来都相同,只是在表中填充的 Excel 公式存在差异。问题出现在工作表选择、sheet9、sheet11 和sheet21 中,最后一个是我收到错误的地方,以前的选项卡正在正确的选项卡(工作表)中执行,没有任何问题。

enter image description here

整个代码非常长,并且添加了带有格式和公式的列,因此这只是我收到错误的部分:

 Sub AddColumns()
'Inserts Four Columns at L:O - Q3 Week High tab

Worksheets(21).Range("L:O").EntireColumn.Insert
'Format colour

Worksheets(21).Select '-------1004 ERROR HERE
Range("L4:N55").Select
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With

最糟糕的是,完全相同的代码结构适用于之前一次性执行的 Worksheets(9) 和 Worksheets(11),但是一旦我到达 Worksheet(21),我就会收到 1004 错误然后该过程停止。

我已经尝试过:

 If Worksheets(21).Visible = False Then Sheets(21).Visible = True
Sheets(21).Select

但是由于某种原因,代码在一些完全不同的选项卡工作表(19)中执行,我不明白为什么。

我使用“Worksheet(#)”命名约定,因为选项卡会定期更改名称,并且在我添加 Worksheet(21) 之前,使用这种格式似乎工作正常。

最佳答案

NameIndexCodeName 是工作表的三个属性,它们有很大不同。在屏幕截图的代码中,Sheet21 是一个 CodeName,它可能对应于 Worksheets(17)

要查看差异,请运行下面的代码并查看立即窗口:

Sub TestMe()
Dim i As Long
For i = 1 To Worksheets.Count
Debug.Print Worksheets(i).Name
Debug.Print Worksheets(i).Index
Debug.Print Worksheets(i).CodeName
Debug.Print "-----------------------"
Next i
End Sub
<小时/>如果工作表是 xlVeryHidden<,

TruefalseIf Worksheets(21).Visible = False 中没有帮助xlVeryHidden 的计算结果为 2,并且该值的计算结果为 True

长话短说:

在选择之前的行中写入Worksheets(21).Visible = xlVisible。或者 Sheet21.Visible = xlVisible,因为您的数据中不存在 Worksheets(21)

一般来说:

关于excel - 选择工作表时出现错误 1004 - 'select method of worksheet class failed',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52719009/

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