更改Dim语句的位置时出现ByRef参数类型不匹配错误

路卡
Dim rangeStr, dataRow, bomRow, levelRow, sNewSheetName, quantRow As String
Dim y, desc, endcap As String
If SheetExists(sNewSheetName) Then
    Application.DisplayAlerts = False
    ThisWorkbook.Sheets(sNewSheetName).Delete
    Application.DisplayAlerts = True
End If

Private Function SheetExists(sheetToFind As String) As Boolean
    Dim sSheet As Worksheet

    SheetExists = False
    For Each sSheet In Worksheets
        If sheetToFind = sSheet.Name Then
            SheetExists = True
            Exit For
        End If
    Next sSheet   
End Function

错误在If语句的第三行上引发。我有解决问题的方法,但是我想了解为什么会起作用。如果我仅将quantumRow变量向下移动到第二个dim语句,则代码是无错误的,因此第一行以sNewSheetName As String结尾似乎在Dim语句中sNewSheetName前面添加了一个变量,使此错误出现,并且我很想知道为什么。

里卡多

您误解了该Dim声明。

Dim blah, blah2, blah3 As String

Blah3声明为String。前两个是变体。

当您quantRow向下移动时,则将sNewSheetName声明为String并且可以正常工作。然后再移动quantRowsNewSheetName被声明为Variant,当你检查下标不喜欢它SheetExists(),因为它期待一个String不是Variant

Private Function SheetExists(sheetToFind As **String**) As Boolean

Dim不将其声明为变体的情况下处理多个项目的正确方法是:

Dim blah as String, blah2 as String, blah3 as String

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将公式插入单元格时,如何清除此 ByRef 参数类型不匹配错误?

ByRef参数类型不匹配Excel VBA

ByRef参数类型不匹配-Excel VBA

Excel VBA ByRef参数类型不匹配

VBA ByRef参数类型不匹配

在Spring MVC中对@RequestBody使用通用类型时出现“参数类型不匹配”错误

将 2 个范围变量传递给需要的子对象/ByRef 参数类型不匹配错误

自动填充新工作表时,VBA Excel ByRef 参数类型不匹配

从正在调用的函数调用函数时,VBA byref参数类型不匹配

ByRef参数类型与布尔值不匹配

使用协程时出现类型不匹配错误

索引&str时出现“错误:类型不匹配”

调用CWnd :: InvokeHelper时出现类型不匹配错误

创建VBA阵列时出现类型不匹配错误

关闭启动画面时出现类型不匹配错误

从终端传递参数时 Kotlin 类型不匹配错误

使用LastSaved函数时,VBA在某些项目(但不是其他项目)上接收ByRef参数类型不匹配

F#If语句类型不匹配错误

更改google.visualization.DataTable()列值时,即使在显式更改其数据类型后,也会出现类型不匹配错误

从if语句内部返回时类型不匹配

出现以下错误:变量数与准备好的语句中的参数数不匹配

为什么在尝试匹配元组时出现类型不匹配错误?

编译错误:ByRef匹配类型不匹配:如何在数组中调用值

在Access中的SQL语句的搜索字符串末尾添加“ CF”时,为什么会出现“数据类型不匹配”错误?

错误:参数值与预期类型不匹配

运行时错误“13”:显示来自 JSON 数组的数据时出现类型不匹配错误

VBA ByRef参数类型不匹配不一致吗?

VBA ByRef参数类型将字符串不匹配转换为字符串

调用WinApi GetVersionExA函数时出错:错误A2114 INVOKE参数类型不匹配:参数:1