[爆卦]vba型態不符合是什麼?優點缺點精華區懶人包

為什麼這篇vba型態不符合鄉民發文收入到精華區:因為在vba型態不符合這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者s212gj (PTT分身就是個黑天鵝)看板Office標題[問題] excel vba型態不符...


軟體:excel

版本:2013

自定義一個range

Set rng1 = Range(Cells(2, 1), Cells([a2].End(xlDown).Row,
[a2].End(xlToRight).Column))

如果在rng1的L欄位裡有USD的字樣的話,讓他在這個rng最後一列下,再插入一列

我寫:
If rng1.Columns("L:L") Like "USD" Then

這句跳出型態不符合

不知道哪裡有問題想好久><



--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.164.72
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1475156643.A.E30.html
waiter337: 感覺上應該不用if 09/29 21:55
waiter337: 我想想看 09/29 21:55
waiter337: 抱歉,我目前還沒辦法找出問題=,= 09/29 22:28
waiter337: 我目前有發現一個問題 09/29 22:30
waiter337: rng1 經過第一行的運算後 他是一個"範圍" 09/29 22:30
waiter337: 所以你目前if 等於說,他會用整個範圍去對照usd 09/29 22:31
waiter337: 應該要想辦法改成這個範圍中的最後一個L 09/29 22:31
waiter337: 或者L中最下面那個格子 09/29 22:31
waiter337: 我寫到這邊 09/29 23:08
waiter337: 但後我後面寫不大出來= = 09/29 23:08
waiter337: ...我沒存到檔 09/29 23:08
waiter337: 我剛設dim rng2 as Integer ,rng3 as Integer 09/29 23:10
waiter337: 我是先把rng2的row值,去用L排抓出來 09/29 23:12
waiter337: rng3 會去抓出rng2最後那格的.value 09/29 23:13
waiter337: 然後text1="usd" 09/29 23:13
waiter337: If rng3.Value Like text1 Then 09/29 23:13
waiter337: 就會過去了 09/29 23:13
waiter337: 但是要把rng1 的row在加上1 這裡我就卡住了 09/29 23:14
soyoso: 如判斷儲存格L欄內是否有出現"USD",可用range.find 09/29 23:23
soyoso: http://imgur.com/NC4bdua 09/29 23:23
waiter337: 哇嗚 難怪我用.value 都沒辦法 感謝指導 09/29 23:24
soyoso: range.find的方式,再請至msdn內看一下 09/29 23:25
s212gj: 我在試試看 謝謝!! 09/30 00:23
s212gj: 所以用like不行嗎?我用instr也不行 09/30 00:36
s212gj: 另外想問一下,一定要用if not find nothing嗎?可以用if 09/30 00:37
s212gj: find = true之類的肯定句嗎?純粹想知道為什麼要這樣用~ 09/30 00:37
soyoso: range.find無搜尋到回傳的值是nothing 09/30 00:45
soyoso: 可用like,如 http://imgur.com/S8I6QdY 方式 09/30 00:46
soyoso: instr 如http://imgur.com/doR1pOX 09/30 01:11
soyoso: 如要取得布林值的話iserror配合application.match方式 09/30 01:27
soyoso: worksheetfunction.countif方面也可使用 09/30 01:29
s212gj: 大感謝! 09/30 08:47
s212gj: 不好意思,我想在請問一下,如果我要find USD或HKD,要怎 09/30 12:09
s212gj: 麼寫呢 09/30 12:09
soyoso: 數量2個的話,加上個if判斷,或的話以or 09/30 12:15
soyoso: 數量增加,為了不要讓判斷的巨集程式碼過長,可加上迴圈來 09/30 12:18
soyoso: 帶要尋找的字串 09/30 12:18
s212gj: 3Q! 09/30 12:31
waiter337: 後來我常常也有這種症狀發生 10/11 15:21
waiter337: 聽說 10/11 15:22
waiter337: 你把rng1 給他前面定義 double 或# 或者改成cdbl(rng1) 10/11 15:22
waiter337: 我常常吃了許多型態不符合的悶虧 但現在還有點一知半解 10/11 15:23
waiter337: 或者前面不要dim rng1 10/11 15:27
waiter337: 不然就再試試陣列宣告 10/11 15:30
waiter337: Dim Array(10) As Integer ' 一維 10/11 15:30
waiter337: Dim Array() 10/11 15:30

你可能也想看看

搜尋相關網站