[算表] vba with range find问题

楼主: ljuber (美少妇与女儿同学的故事)   2018-09-20 10:41:44
软件:excel
版本:2007
需求很简单
比对sheets("设定")的A栏 若有这个值就在比对资料那一字段旁传回 "V"
没有就空格
但是会出现此处需要物件
不知道那边想错了...
Dim kx As String
Set sht1 = Sheets("资料")
sht1.Select
lastrow = Range("A1").End(xlDown).Row
col1 = Range("A1").End(xlToRight).Column + 1
With Sheets("设定").Range("A:A")
For i = 3 To lastrow
Set kx = .Find(What:=Range("A" & i).Text, LOOKAT:=xlWhole)
^^会出现此处需要物件
If Not k Is Nothing Then
Cells(i, col1) = "V"
Else
Cells(i, col1) = ""
End If
Next i
End With
作者: soyoso (我是耀宗)   2018-09-20 10:42:00
dim kx as string改为dim kx as range另外if not k is nothing then 变量k如指的是kx的话,也请修改一下
作者: newacc (XD)   2018-09-20 12:28:00
LookAt = xlWhole是指全部符合,xlPart才是你符合你资料的建议在Sub外面加上Option Explicit,每个变量都先Dim过比较容易找变量方面的bug同时可以避免变量名称误打产生的错误
作者: soyoso (我是耀宗)   2018-09-20 12:46:00
以xlwhole的话,what方面就以 "*" & range("a" & i) & "*"的方式
楼主: ljuber (美少妇与女儿同学的故事)   2018-09-20 13:42:00
感谢S大的指导 office有你真好^^

Links booklink

Contact Us: admin [ a t ] ucptt.com