[算表] vba with range find問題

看板Office作者 (美少婦與女兒同學的故事)時間7年前 (2018/09/20 10:41), 7年前編輯推噓0(0010)
留言10則, 3人參與, 7年前最新討論串1/1
軟體: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://www.ptt.cc/bbs/Office/M.1537411307.A.6FA.html

09/20 10:42, 7年前 , 1F
dim kx as string改為dim kx as range
09/20 10:42, 1F

09/20 10:45, 7年前 , 2F
另外if not k is nothing then 變數k如指的是kx的話,也請
09/20 10:45, 2F

09/20 10:46, 7年前 , 3F
修改一下
09/20 10:46, 3F
我改了還是會有出現錯誤訊息 不知道那邊有問題 ...附上原始檔案 https://drive.google.com/open?id=1GHBsDgTg_WCtlX5ZvLoIgommgylGJj0M ※ 編輯: ljuber (60.250.67.78), 09/20/2018 12:01:12

09/20 12:28, 7年前 , 4F
LookAt = xlWhole是指全部符合,xlPart才是你符合你資料的
09/20 12:28, 4F

09/20 12:29, 7年前 , 5F
建議在Sub外面加上Option Explicit,每個變數都先Dim過比
09/20 12:29, 5F

09/20 12:29, 7年前 , 6F
較容易找變數方面的bug
09/20 12:29, 6F

09/20 12:30, 7年前 , 7F
同時可以避免變數名稱誤打產生的錯誤
09/20 12:30, 7F

09/20 12:46, 7年前 , 8F
以xlwhole的話,what方面就以 "*" & range("a" & i) & "*"
09/20 12:46, 8F

09/20 12:46, 7年前 , 9F
的方式
09/20 12:46, 9F

09/20 13:42, 7年前 , 10F
感謝S大的指導 office有你真好^^
09/20 13:42, 10F
文章代碼(AID): #1RemZhRw (Office)
文章代碼(AID): #1RemZhRw (Office)