为处理经销商提供的月报数据,我想实现数据自动抓取功能,其中涉及到一些判断语句在测试的时候出现bug,本人接触VBA也只有几天的时间也不清楚是什么原因,请教各位高手大大帮忙解惑,不胜感激!
代码如下,其中错误语句为: If Sheets(1).Cells("4, Column") = "年初数" Or Sheets(1).Cells("4, Column") = "年初余额" Then
Sub TtC_1()
Range("B4:B200").TextToColumns Destination:=Range("AA4:AA200"), _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, Tab:=True, Space:=True, Other:=True, OtherChar:=" ", _
FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
If Application.CountA(Range("AB4:AB200")) < 10 Then
Range("AA4:AA200").Copy Destination:=Range("B4")
Else
Range("AB4:AB200").Copy Destination:=Range("B4")
End If
Range("AA4:AB200").ClearContents
Range("C4:F200").Copy
Range("AC4:AF200").PasteSpecial xlPasteValues
For Column = AC To AF
If Sheets(1).Cells("4, Column") = "年初数" Or Sheets(1).Cells("4, Column") = "年初余额" Then
Range("Column5:Column200").Copy Destination:=Range("E4")
ElseIf Sheets(1).Cells("4, Column") = "期初数" Or Sheets(1).Cells("4, Column") = "期初余额" Then
Range("Column5:Column200").Copy Destination:=Range("E4")
Cells(3, 5).Interior.Color = vbRed
Cells(3, 5).AddComment "经销商标示为期初数,请核实"
ElseIf Sheets(1).Cells("4, Column") = "期末数" Or Sheets(1).Cells("4, Column") = "期末余额" Then
Range("Column5:Column200").Copy Destination:=Range("F4")
End If
Next Column
Range("AC4:AF200").ClearContents
Range("C4:D200").ClearContents
End Sub
Excel 数据取数模板 VBA Runtime Error '5'
答案:1 悬赏:50 手机版
解决时间 2021-02-01 04:10
- 提问者网友:城市野鹿
- 2021-01-31 11:01
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-01-31 12:00
首先我得称赞一下你,接触VBA只有几天就能写出如此大段的代码,领悟能力令人佩服。
进入正题:
For Column = AC To AF
这个语句有问题:1、Column没有定义,2、AC、AF你想表示列号,但是此写法错误
可以换成29 to 32
Cells("4, Column")这个表达式也不对,应该是Cells(4, Column)
进入正题:
For Column = AC To AF
这个语句有问题:1、Column没有定义,2、AC、AF你想表示列号,但是此写法错误
可以换成29 to 32
Cells("4, Column")这个表达式也不对,应该是Cells(4, Column)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯