gpt4 book ai didi

vba - 尝试激活工作表时出现类型不匹配 13 错误

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

我读过的所有内容都表明我正确地表示了我的变量并调用了我想要激活的工作表。最后一行是我得到类型不匹配的地方。此时 CPIDws = CERN000006。我在某处读到,名称是字母和数字可能会出现问题,但还没有找到解决方法。

Sub Create_tab()

Dim newWS As Worksheet, CernWS As Worksheet, CPID As Variant
Dim Template As Worksheet, CPIDclm As Long, CERNdata As Range, CPIDcheck As Variant
Dim lngRow As Long, lngCol As Long, i As Integer, CPIDws As Worksheet

Set Template = Sheets("Template")
Set CernWS = Sheets("CERN ID's")
'Set lngRow = 1
'Set lngCol = 1


CernWS.Activate
Cells(1, 1).Select

Do
ActiveCell.Offset(1, 0).Select
Set CPID = ActiveCell

'create a new sheet as a copy of the template
Sheets("Template").Copy _
after:=ActiveWorkbook.Sheets(ThisWorkbook.Sheets.Count)

'Name the new sheet as the current CPID value from CERN ID's worksheet
ActiveSheet.Name = CPID
Set CPIDws = ActiveSheet

'interigate AAA Data and update the new sheet with the data specific to the current cpid
Sheets("AAA Data").Activate
Cells(2, 3).Activate
Set CPIDcheck = ActiveCell

Do
If CPID = CPIDcheck Then
ActiveCell.Offset(0, -2).Select
Set CERNdata = Range(Selection, Selection.End(xlToRight))
End If

Sheets(CPIDws).Activate

最佳答案

At that point CPIDws = CERN000006.

不,没有。 :)

您已将 CPIDws As Worksheet 声明为 CPIDws As Worksheet,但您将其用作 Sheets 方法的参数,该方法采用索引(整数)或名称(字符串) )值。

因此,类型不匹配。

简单地尝试CPIDws.Activate

或者,可以说你可以做多余的事情:Sheets(CPIDws.Name).Activate

THIS也可能会有所帮助,因为通常建议在可以避免的情况下不要依赖 Active (单元格、工作表等)或 Selection(这几乎总是情况除外,当您使用Selection作为输入方法时除外。但一般来说,您的宏可能永远不需要SelectActivate 除用户选择输入的单元格之外的任何单元格。在您的情况下,由于您从 Cells(1,1) 开始并完全通过代码控制迭代,所以完全没有必要选择激活任何内容。

关于vba - 尝试激活工作表时出现类型不匹配 13 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29266568/

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