看板 Office 關於我們 聯絡資訊
軟體: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