Excel精英培训网

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

[已解决]数组上下标问题?提示类型不匹配

[复制链接]
发表于 2017-2-7 15:46 | 显示全部楼层 |阅读模式
本帖最后由 菜馊鱼 于 2017-2-8 15:35 编辑

是这样的,我要检查商品描述中有没有敏感词,于是写了以下代码。
但是当放入2个以上单元格的时候可以正常使用,放入仅仅一个单元格的时候就会提示类型不匹配。
求解~VBA小白

两个以上单元格可正常使用

两个以上单元格可正常使用

只放一个单元格就会出错

只放一个单元格就会出错

出错提示

出错提示

一个单元格不可使用

一个单元格不可使用



以下是代码:
Sub 关键词查找()
Dim arr(), arr2(), i As Integer, j As Integer, m As Integer, n As Integer, msg As String

i = Sheets("条件区域").Cells(Rows.Count, 1).End(xlUp).row
j = Sheets("需匹配数据").Cells(Rows.Count, 1).End(xlUp).row
ReDim arr(1 To i - 1, 1 To 1), arr2(1 To j - 1, 1 To 1)
arr() = Sheets("条件区域").Range("A2:A" & i).Value
arr2() = Sheets("需匹配数据").Range("A2:A" & j).Value
For n = 1 To j - 1
For m = 1 To i - 1
   If InStr(LCase(arr2(n, 1)), LCase(arr(m, 1))) > 0 Then
   msg = msg & Chr(10) & Sheets("条件区域").Cells(m + 1, 1).Value
   Else
   msg = msg
   End If
Next
Sheets("需匹配数据").Cells(n + 1, 2) = msg
msg = ""
Next
   MsgBox "Done"
End Sub

最佳答案
2017-2-7 16:01
将一个单元格赋值给数组时就是会出错

关键词查找.rar

46.52 KB, 下载次数: 1

发表于 2017-2-7 16:01 | 显示全部楼层    本楼为最佳答案   
将一个单元格赋值给数组时就是会出错
回复

使用道具 举报

发表于 2017-2-7 16:27 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2017-2-7 18:33 | 显示全部楼层
苏子龙 发表于 2017-2-7 16:27
去了括号(),试试

不行哦~ arr的括号对吧
回复

使用道具 举报

 楼主| 发表于 2017-2-7 18:34 | 显示全部楼层
望帝春心 发表于 2017-2-7 16:01
将一个单元格赋值给数组时就是会出错

噢~那样子,看来一个单元格的时候要Quit
回复

使用道具 举报

发表于 2017-2-7 18:38 | 显示全部楼层
菜馊鱼 发表于 2017-2-7 18:34
噢~那样子,看来一个单元格的时候要Quit

对,用别的办法绕过这个就行了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 02:10 , Processed in 0.629655 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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