[算表] 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