Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 900|回复: 2

[已解决]运行错误13,类型不匹配

[复制链接]
发表于 2022-9-16 17:17 | 显示全部楼层 |阅读模式
搜狗截图20220916165834.png 请各位老师抽空帮忙看下,把G 列负数转正数,运行代码时提示运行错误13,类型不匹配



最佳答案
2022-9-16 17:30
数据中 12296 行不为数字!,修改语句:
Sub 数据取值1()
    Application.ScreenUpdating = False
    Sheet1.Activate
    Dim arr
    Dim i As Long
    arr = Range("A2:H" & Cells(Rows.Count, 1).End(xlUp).Row) 'C为输出结
    For i = 2 To UBound(arr) '不包含标题
       If IsNumeric(arr(i, 7)) Then arr(i, 8) = Abs(arr(i, 7))
    Next
    Range("a2:H" & Cells(Rows.Count, 1).End(xlUp).Row) = arr
    Application.ScreenUpdating = True
End Sub

Warp数据分析.zip

978.34 KB, 下载次数: 2

发表于 2022-9-16 17:26 | 显示全部楼层
有文本,还有最大行号要减1.不然下标越界。
Sub 数据转换()
    Dim arr, r&, i&
    r = Cells(Rows.Count, 1).End(3).Row
    arr = Range("A2:H" & r)
    For i = 2 To r - 1
        If IsNumeric(arr(i, 7)) Then
            arr(i, 8) = Abs(arr(i, 7))
        End If
    Next
    [a2].Resize(r, UBound(arr, 2)) = arr
End Sub

评分

参与人数 1学分 +2 收起 理由
初学者VBA + 2 学习了

查看全部评分

回复

使用道具 举报

发表于 2022-9-16 17:30 | 显示全部楼层    本楼为最佳答案   
数据中 12296 行不为数字!,修改语句:
Sub 数据取值1()
    Application.ScreenUpdating = False
    Sheet1.Activate
    Dim arr
    Dim i As Long
    arr = Range("A2:H" & Cells(Rows.Count, 1).End(xlUp).Row) 'C为输出结
    For i = 2 To UBound(arr) '不包含标题
       If IsNumeric(arr(i, 7)) Then arr(i, 8) = Abs(arr(i, 7))
    Next
    Range("a2:H" & Cells(Rows.Count, 1).End(xlUp).Row) = arr
    Application.ScreenUpdating = True
End Sub

评分

参与人数 1学分 +2 收起 理由
初学者VBA + 2 学习了

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 06:03 , Processed in 1.141425 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表