Excel精英培训网

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

“1004,应用程序定义或对象定义错误”

[复制链接]
发表于 2016-10-17 21:26 | 显示全部楼层 |阅读模式
提取标题中的货号。用固定的头三位字母循环去对比标题,发现标题中包含这头三位字母,就从这三个字母起取9个字符。编写了一段代码,运行错误提示红色的那句错了:“1004,应用程序定义或对象定义错误”。检查了一下,instr函数的第二个参数如果用单元格引用的形式代码可以正常运行,换成数组就报错。数组单独拿出运行也没问题。哪位高手帮忙看一下问题出在哪里。多谢了!

Sub test()
Dim i, j, n, l As Integer
Dim irow As Integer
Dim arr As Variant
arr = Array("TAB", "TAJ", "TAN")
l = InputBox("请选择要处理的列号")
n = InputBox("请选择存放结果的列号")
irow = Cells(65536, l).End(xlUp).Row

For j = 0 To 2
        For i = 2 To irow
          If InStr(Cells(i, l), arr(j)) <> 0 Then

            Cells(i, n) = Mid(Cells(i, l), InStr(Cells(i, l), arr(j)), 9)
          End If

        Next
Next
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-10-18 07:17 | 显示全部楼层
l  n  列号为文本,把它转换成数值
回复

使用道具 举报

发表于 2016-10-18 07:58 | 显示全部楼层
修改:
Dim i, j, n As Integer, l As Integer
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 23:40 , Processed in 0.224700 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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