作者kid50927 (fish)
看板Visual_Basic
標題[VBA ] excel中的文字屬性使if條件不成立
時間Sun May 6 21:38:29 2018
各位好,小的是自學excel巨集的程式
想請問一個問題,不確定適不適合在這裡問
我將csv檔的內容複製了文字跟數字貼到excel裡
然後在巨集裡寫了以下
dim TEMP=string
TEMP=cells(4,1)
if TEMP = "USD" then
....
endif
逐行除錯的時候發現他是if條件不成立
但我將excel表格內的文字重新手打一遍
他的if判斷式就會成立了...
我推測是從csv檔複製過來的格式(屬性?)的問題
請問我該怎麼解決?謝謝。
-----
Sent from JPTT on my Asus ASUS_Z012DA.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.100.2
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1525613911.A.17B.html
1F:→ coyoteY: 看不太懂??有完整語法嗎? 05/08 12:54
2F:推 paul60209: TEMP=str(cells(4,"A").value) 05/08 17:21
3F:→ paul60209: 你試試看把原本的temp改成這一行 05/08 17:21
4F:→ paul60209: 或者你可以用Msgbox TypeName(cells(4,"A").value) 05/08 17:29
5F:→ paul60209: 先觀察一下他的資料型態,再去寫IF判斷式 05/08 17:29
6F:→ kid50927: 試了一下,他是string沒錯呀...可是一樣不會視為判斷式 05/09 01:18
7F:→ kid50927: 成立... 05/09 01:18
8F:→ kid50927: 我發現問題了,吃csv檔時他在那格存了一個tab+文字 05/09 01:34
9F:→ kid50927: 所以我改成TEMP=replace(cells(4,1),chr(9),"")就可以了 05/09 01:53
10F:→ hulapig: Trim(cells(4,1))就會忽略前後的空白,只擷取中間有值的 05/10 00:43
11F:→ hulapig: 部分 05/10 00:43
12F:→ kid50927: 試過trim不行,好像是因為他是tab不是空格? 05/31 01:07