作者ljuber (美少婦與女兒同學的故事)
看板Office
標題[算表] vba with range find問題
時間Thu Sep 20 10:41:44 2018
軟體: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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.67.78
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1537411307.A.6FA.html
1F:→ soyoso: dim kx as string改為dim kx as range 09/20 10:42
2F:→ soyoso: 另外if not k is nothing then 變數k如指的是kx的話,也請 09/20 10:45
3F:→ soyoso: 修改一下 09/20 10:46
我改了還是會有出現錯誤訊息
不知道那邊有問題 ...附上原始檔案
https://drive.google.com/open?id=1GHBsDgTg_WCtlX5ZvLoIgommgylGJj0M
※ 編輯: ljuber (60.250.67.78), 09/20/2018 12:01:12
4F:→ newacc: LookAt = xlWhole是指全部符合,xlPart才是你符合你資料的 09/20 12:28
5F:→ newacc: 建議在Sub外面加上Option Explicit,每個變數都先Dim過比 09/20 12:29
6F:→ newacc: 較容易找變數方面的bug 09/20 12:29
7F:→ newacc: 同時可以避免變數名稱誤打產生的錯誤 09/20 12:30
8F:→ soyoso: 以xlwhole的話,what方面就以 "*" & range("a" & i) & "*" 09/20 12:46
9F:→ soyoso: 的方式 09/20 12:46
10F:→ ljuber: 感謝S大的指導 office有你真好^^ 09/20 13:42