[VBA ] excel中的文字屬性使if條件不成立

看板Visual_Basic作者 (fish)時間6年前 (2018/05/06 21:38), 編輯推噓1(1011)
留言12則, 4人參與, 6年前最新討論串1/1
各位好,小的是自學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://www.ptt.cc/bbs/Visual_Basic/M.1525613911.A.17B.html

05/08 12:54, 6年前 , 1F
看不太懂??有完整語法嗎?
05/08 12:54, 1F

05/08 17:21, 6年前 , 2F
TEMP=str(cells(4,"A").value)
05/08 17:21, 2F

05/08 17:21, 6年前 , 3F
你試試看把原本的temp改成這一行
05/08 17:21, 3F

05/08 17:29, 6年前 , 4F
或者你可以用Msgbox TypeName(cells(4,"A").value)
05/08 17:29, 4F

05/08 17:29, 6年前 , 5F
先觀察一下他的資料型態,再去寫IF判斷式
05/08 17:29, 5F

05/09 01:18, 6年前 , 6F
試了一下,他是string沒錯呀...可是一樣不會視為判斷式
05/09 01:18, 6F

05/09 01:18, 6年前 , 7F
成立...
05/09 01:18, 7F

05/09 01:34, 6年前 , 8F
我發現問題了,吃csv檔時他在那格存了一個tab+文字
05/09 01:34, 8F

05/09 01:53, 6年前 , 9F
所以我改成TEMP=replace(cells(4,1),chr(9),"")就可以了
05/09 01:53, 9F

05/10 00:43, 6年前 , 10F
Trim(cells(4,1))就會忽略前後的空白,只擷取中間有值的
05/10 00:43, 10F

05/10 00:43, 6年前 , 11F
部分
05/10 00:43, 11F

05/31 01:07, 6年前 , 12F
試過trim不行,好像是因為他是tab不是空格?
05/31 01:07, 12F
文章代碼(AID): #1QxmLN5x (Visual_Basic)