VBA Excel 2016:类型不匹配错误

斯坦伯格博士

如果列AG包含某个值,我试图将整个行复制到名为“所有组”(从A到AF)的工作表上,并将其粘贴到名为“绿色”的工作表中(如果AG = 1,如果AG = 2则为蓝色,如果AG = 3,则为红色)。

但是,我收到类型不匹配错误

我在论坛和类似错误的帖子网上都看过,但是找不到能够帮助我的答案。我正在使用Excel 2016,这是我的代码:

     Sub sort()
    Dim LSearchRow As Integer
    Dim LCopyToRow As Integer

Worksheets("All groups").Select
'Start search in row 3
    LSearchRow = 3
'Start copying data to row 3 in Destination Sheet (row counter variable)
    LCopyToRow = 3
    While Len(Range("A" & CStr(LSearchRow)).Value) > 0
'If value in column AG = "1", copy and paste entire row to Green. Then go back and continue searching
        If Range("AG" & CStr(LSearchRow)).Value = "1" Then
            Rows(CStr(LSearchRow) & "A:AF" & CStr(LSearchRow)).Select
            Selection.Copy
            Worksheets("Green").Select
            Rows(CStr(LCopyToRow) & "A:AF" & CStr(LCopyToRow)).Select
            ActiveSheet.Paste
            LCopyToRow = LCopyToRow + 1
            Worksheets("All groups").Select

'If value in column AG = "2", copy and paste entire row to Blue. Then go back and continue searching
        ElseIf Range("AG" & CStr(LSearchRow)).Value = "2" Then
            Rows(CStr(LSearchRow) & "A:AF" & CStr(LSearchRow)).Select
            Selection.Copy
            Worksheets("Blue").Select
            Rows(CStr(LCopyToRow) & "A:AF" & CStr(LCopyToRow)).Select
            ActiveSheet.Paste
            LCopyToRow = LCopyToRow + 1
            Worksheets("All groups").Select

'If value in column AG = "3", copy and paste entire row to Red. Then go back and continue searching
        Else
            Rows(CStr(LSearchRow) & "A:AF" & CStr(LSearchRow)).Select
            Selection.Copy
            Worksheets("Red").Select
            Rows(CStr(LCopyToRow) & "A:AF" & CStr(LCopyToRow)).Select
            ActiveSheet.Paste
            LCopyToRow = LCopyToRow + 1
            Worksheets("All groups").Select
            End If

        Wend

        End Sub
用户名

CStr数字到文本看起来有点像数字转换,但您对此有些狂热。数字应视为数字,文本应视为文本。交叉匹配可能会或可能不会产生预期的结果。

我找不到您要增加LSearchRowvar的位置,所以我添加了它。

Sub all_group_sort()
    Dim LSearchRow As Long
    Dim LCopyToRow As Long

    With Worksheets("All groups")
        'Start search in row 3
        LSearchRow = 3

        'Start copying data to row 3 in Destination Sheet (row counter variable)
        LCopyToRow = 3  '= LSearchRow
        While CBool(Len(Range("A" & LSearchRow).Value2))
            'If value in column AG = "1", copy and paste entire row to Green. Then go back and continue searching
            Select Case CStr(.Range("AG" & LSearchRow).Value2)
                Case "1"
                    .Cells(LSearchRow, "A").Resize(1, 32).Copy _
                        Destination:=Worksheets("Green").Cells(LCopyToRow, "A")
                    LCopyToRow = LCopyToRow + 1
                Case "2"
                    .Cells(LSearchRow, "A").Resize(1, 32).Copy _
                        Destination:=Worksheets("Blue").Cells(LCopyToRow, "A")
                    LCopyToRow = LCopyToRow + 1
                Case "3"
                    .Cells(LSearchRow, "A").Resize(1, 32).Copy _
                        Destination:=Worksheets("Red").Cells(LCopyToRow, "A")
                    LCopyToRow = LCopyToRow + 1
                Case Else
                    'do nothing
                    Debug.Print "Not 1,2 or 3 - " & .Range("AG" & LSearchRow).Value2
            End Select
            LSearchRow = LSearchRow + 1
        Wend
    End With
End Sub

Select Case语句可以很好地处理这种标准检查实际复制仅需要单个单元格的目的地;其余的粘贴仅跟随它。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MS Excel VBA类型不匹配错误

来自分类Dev

Excel VBA中的类型不匹配错误

来自分类Dev

Excel VBA 宏类型不匹配错误

来自分类Dev

类型不匹配:Excel VBA

来自分类Dev

类型不匹配Excel VBA

来自分类Dev

类型不匹配:Excel VBA

来自分类Dev

不断收到Excel VBA类型不匹配错误13

来自分类Dev

Excel VBA运行时错误类型不匹配13

来自分类Dev

#N / A的Excel VBA类型不匹配

来自分类Dev

类型与数组不匹配:VBA Excel

来自分类Dev

Excel VBA With语句返回类型不匹配

来自分类Dev

Excel VBA数组类型不匹配

来自分类Dev

Excel VBA对象变量类型不匹配

来自分类Dev

Excel VBA:如何解决索引和匹配函数类型不匹配错误

来自分类Dev

Excel运行时错误13中的VBA:类型不匹配

来自分类Dev

VBA Excel:由于字符过多,运行时错误13类型不匹配

来自分类Dev

Excel VBA Target.Address被修改并导致错误13类型不匹配

来自分类Dev

切换到64位Excel后如何修复VBA“类型不匹配”错误

来自分类Dev

Application.Wait和Excel VBA运行时错误'13'类型不匹配

来自分类Dev

Excel VBA中的锯齿状数组,类型不匹配错误

来自分类Dev

Excel VBA数据透视缓存类型不匹配运行时错误'13'

来自分类Dev

Excel VBA工作代码今天突然出现“类型不匹配”错误

来自分类Dev

VBA错误:类型不匹配

来自分类Dev

从Access VBA搜索Excel列-类型不匹配

来自分类Dev

Excel VBA Range.Value类型不匹配?

来自分类Dev

Excel VBA:增量变量中的类型不匹配

来自分类Dev

将键传递给函数作为字符串参数时,VBA Excel错误“按参考参数类型不匹配”

来自分类Dev

Excel VBA将数据从一个单元格转换为行(类型不匹配错误)

来自分类Dev

将键传递给函数作为字符串参数时,VBA Excel错误“按参考参数类型不匹配”

Related 相关文章

  1. 1

    MS Excel VBA类型不匹配错误

  2. 2

    Excel VBA中的类型不匹配错误

  3. 3

    Excel VBA 宏类型不匹配错误

  4. 4

    类型不匹配:Excel VBA

  5. 5

    类型不匹配Excel VBA

  6. 6

    类型不匹配:Excel VBA

  7. 7

    不断收到Excel VBA类型不匹配错误13

  8. 8

    Excel VBA运行时错误类型不匹配13

  9. 9

    #N / A的Excel VBA类型不匹配

  10. 10

    类型与数组不匹配:VBA Excel

  11. 11

    Excel VBA With语句返回类型不匹配

  12. 12

    Excel VBA数组类型不匹配

  13. 13

    Excel VBA对象变量类型不匹配

  14. 14

    Excel VBA:如何解决索引和匹配函数类型不匹配错误

  15. 15

    Excel运行时错误13中的VBA:类型不匹配

  16. 16

    VBA Excel:由于字符过多,运行时错误13类型不匹配

  17. 17

    Excel VBA Target.Address被修改并导致错误13类型不匹配

  18. 18

    切换到64位Excel后如何修复VBA“类型不匹配”错误

  19. 19

    Application.Wait和Excel VBA运行时错误'13'类型不匹配

  20. 20

    Excel VBA中的锯齿状数组,类型不匹配错误

  21. 21

    Excel VBA数据透视缓存类型不匹配运行时错误'13'

  22. 22

    Excel VBA工作代码今天突然出现“类型不匹配”错误

  23. 23

    VBA错误:类型不匹配

  24. 24

    从Access VBA搜索Excel列-类型不匹配

  25. 25

    Excel VBA Range.Value类型不匹配?

  26. 26

    Excel VBA:增量变量中的类型不匹配

  27. 27

    将键传递给函数作为字符串参数时,VBA Excel错误“按参考参数类型不匹配”

  28. 28

    Excel VBA将数据从一个单元格转换为行(类型不匹配错误)

  29. 29

    将键传递给函数作为字符串参数时,VBA Excel错误“按参考参数类型不匹配”

热门标签

归档