尝试使代码更快时键入不匹配

猫鼬00318

我试图改用 For 循环 (For i = 1 To UBound(arrSOPID,1) 以使代码更快;在我根据收到的一些建议循环遍历许多单元格之前。

然后我在这部分发现类型不匹配...Trim(arrSOPID(i, 1)

   'Store cells in COL A that have values as a range
    Dim arrSOPID As Variant: Set arrSOPID = .Range("A1", .Range("A1").End(xlDown))
    Dim cel As Range

    'Loop through each SOP audit file
    For Each oFile In oFiles
        'Strip audit date out of filename and trim off the file extension
        Dim auditDate As Date: auditDate = CDate(DateSerial(Right(Left(Split(oFile.Name, "-")(3), 8), 4), _
                                                    Left(Left(Split(oFile.Name, "-")(3), 8), 2), _
                                                    Mid(Left(Split(oFile.Name, "-")(3), 8), 3, 2)))
        Dim i As Long: i = 0
        'Loop through all SOP IDs stored in COL A
        For i = 1 To UBound(arrSOPID, 1)
            'MsgBox (Trim(arrSOPID(i, 1)))
            'See if SOP ID in COL A matches SOP ID in Audit file name
            If Trim(RemoveLeadingZeroes(Split(oFile.Name, "-")(2))) = Trim(arrSOPID(i, 1)) Then
                'Insert link to audit, change background color, etc of selected cell
                With cel.Offset(0, 3 + Month(auditDate))
                    .Hyperlinks.Add Anchor:=cel.Offset(0, 3 + Month(auditDate)), Address:=oFile.Path, TextToDisplay:="X"
                    .Interior.Color = RGB(34, 139, 34)
                    .Font.Color = vbBlack
                    .Font.Bold = True
                End With
            End If
        Next i
    Next oFile
院长

您的数组类型为Variant您需要将数组变量存储在一个String变量之前使用Trim()像下面这样的东西应该可以工作:

'Store cells in COL A that have values as a range
    Dim arrSOPID As Variant: Set arrSOPID = .Range("A1", .Range("A1").End(xlDown))
    Dim cel As Range
    Dim myStr as String

    'Loop through each SOP audit file
    For Each oFile In oFiles
        'Strip audit date out of filename and trim off the file extension
        Dim auditDate As Date: auditDate = CDate(DateSerial(Right(Left(Split(oFile.Name, "-")(3), 8), 4), _
                                                    Left(Left(Split(oFile.Name, "-")(3), 8), 2), _
                                                    Mid(Left(Split(oFile.Name, "-")(3), 8), 3, 2)))
        Dim i As Long: i = 0
        'Loop through all SOP IDs stored in COL A
        For i = 1 To UBound(arrSOPID, 1)
            myStr = arrSOPID(i, 1)
            'MsgBox (Trim(myStr))
            'See if SOP ID in COL A matches SOP ID in Audit file name
            If Trim(RemoveLeadingZeroes(Split(oFile.Name, "-")(2))) = Trim(myStr) Then
                'Insert link to audit, change background color, etc of selected cell
                With cel.Offset(0, 3 + Month(auditDate))
                    .Hyperlinks.Add Anchor:=cel.Offset(0, 3 + Month(auditDate)), Address:=oFile.Path, TextToDisplay:="X"
                    .Interior.Color = RGB(34, 139, 34)
                    .Font.Color = vbBlack
                    .Font.Bold = True
                End With
            End If
        Next i
    Next oFile

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

标签不匹配时,尝试解密加密数据

尝试搜索数组列表时键入不匹配

尝试切片多维数组时类型不匹配

在向用户窗体添加图标时键入不匹配

Excel-选择多个单元格时在VBA中键入不匹配错误13

scala:尝试连接两个列表或创建列表时键入不匹配

遍历字典时键入不匹配

在代码中键入不匹配以填充组合框

在设置数组值时键入不匹配13错误13

致命:pathspec'。尝试git rm时不匹配任何文件

得到运行时错误“ 13”:运行以下宏时键入不匹配

循环数组时键入不匹配错误

尝试训练数据时使用pytorch的大小不匹配

尝试更改折线图的颜色时键入不匹配

使用vba修剪值时键入不匹配(错误13)

尝试增加文本编号时,VBA类型不匹配

运行时错误13:尝试从另一个工作簿中调用函数时,在VBA中键入不匹配

运行时错误13:每次我运行代码时都键入不匹配

MS Access VBA:出现错误“ 13”:从其他形式调用函数时,键入不匹配

尝试打印矢量元素时,“ operator <<”不匹配

matplotlib - 尝试添加更多列时的形状不匹配问题

根据范围设置日期数组时键入不匹配错误

运行时错误 13 - 尝试编辑 Lotus Notes 的富文本项时键入不匹配

使用 range.find 时键入不匹配错误

将值导入数组时键入不匹配错误

尝试转发到 Kubernetes 时出现协议不匹配错误

尝试声明自定义字体时类型不匹配

返回 Map(String,java.sql.Date) 时键入不匹配

从合并单元格中删除时键入不匹配 13 错误 - VBA