Excel精英培训网

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

[已解决]运行报错 类型不匹配

[复制链接]
发表于 2013-3-26 16:56 | 显示全部楼层 |阅读模式
Sub RngLike()
     Dim rng As Range
     Dim a As Integer
     Dim nr As Integer
     
     a = 1
      nr = InputBox("请输入要查找的数据")
      With Sheet1
      .Range("A:A").ClearContents
          For Each rng In .Range("B1:d22")
              If rng.Text Like "*nr*" Then
                  .Range("A" & a) = rng.Text
                  a = a + 1
              End If
          Next
      End With
  End Sub
最佳答案
2013-3-26 17:32
  1. Sub RngLike()
  2.      Dim rng As Range
  3.      Dim a As Integer
  4.      a = 1
  5.       nr = InputBox("请输入要查找的数据")
  6.       With Sheet1
  7.       .Range("A:A").ClearContents
  8.           For Each rng In .Range("B1:d22")
  9.               If rng.Value Like "*" & CStr(nr) & "*" Then
  10.                   .Range("A" & a) = rng.Text
  11.                   a = a + 1
  12.              End If
  13.           Next
  14.       End With
  15.   End Sub
复制代码
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-3-26 17:32 | 显示全部楼层    本楼为最佳答案   
  1. Sub RngLike()
  2.      Dim rng As Range
  3.      Dim a As Integer
  4.      a = 1
  5.       nr = InputBox("请输入要查找的数据")
  6.       With Sheet1
  7.       .Range("A:A").ClearContents
  8.           For Each rng In .Range("B1:d22")
  9.               If rng.Value Like "*" & CStr(nr) & "*" Then
  10.                   .Range("A" & a) = rng.Text
  11.                   a = a + 1
  12.              End If
  13.           Next
  14.       End With
  15.   End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2013-3-26 21:48 | 显示全部楼层
又提示变量未定义,尝试在前面定义   dim nr as integer   ,又报错类型不匹配
回复

使用道具 举报

发表于 2013-3-26 22:10 | 显示全部楼层
本帖最后由 无聊的疯子 于 2013-3-26 22:11 编辑
michealzy 发表于 2013-3-26 21:48
又提示变量未定义,尝试在前面定义   dim nr as integer   ,又报错类型不匹配

nr 有可能是 文本,也有可能是 数字,还有可能是 空值,所以类型不匹配

评分

参与人数 1 +1 收起 理由
michealzy + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 2013-3-26 22:14 | 显示全部楼层
本帖最后由 无聊的疯子 于 2013-3-26 22:17 编辑
michealzy 发表于 2013-3-26 21:48
又提示变量未定义,尝试在前面定义   dim nr as integer   ,又报错类型不匹配

你声明  nr 不要类型

dim nr
然后 给 nr 赋值后,在本地窗口中看一下类型就知道了

如果只能是数字的话,可以这样

  1. nr = Val(InputBox("请输入要查找的数据"))
  2. nr = Cint(InputBox("请输入要查找的数据"))
复制代码
选其一就行了!!

评分

参与人数 1 +1 收起 理由
michealzy + 1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-3-26 23:22 | 显示全部楼层
本帖最后由 michealzy 于 2013-3-26 23:23 编辑

谢谢,原来还可以这样。
回复

使用道具 举报

 楼主| 发表于 2013-3-26 23:27 | 显示全部楼层
谢谢无聊,
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 15:20 , Processed in 0.562053 second(s), 20 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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