[文件] 判斷表格中文字是否為數值

看板Office作者 (樹枝擺擺)時間5年前 (2018/11/08 21:22), 5年前編輯推噓0(004)
留言4則, 2人參與, 5年前最新討論串1/1
軟體:Word 版本:2016 我想逐一判斷word表格中的每一儲存格的文字是否為數值, 若是則調整格式,使表格中的文字儲存格及數值儲存格有不同的設定 先前學的方法是使用isNumeric,如: with activedocument.tables(1) for each cell in .range.cells If IsNumeric(cell.Range.Characters.Item(1).Text) Then ' 格式 End If next end with 但這個方法只根據第一個文字是否為數值來決定,精確度不高 我想改成抓取儲存格整個文字,若能利用CLng、CDbl等成功轉換成數值就表示是數值, 但以下寫法卻出現「型態不符合」的錯誤訊息 Dim a As String Dim b As Long a = ActiveDocument.Tables(1).Cell(1, 1).Range.Text ' 該格文字是123 b = CLng(a) ' 此列呈現黃底,顯示「型態不符合」 我查了CLng或其他型態轉換函數的用法,都看不出哪裡出問題,在此求教,謝謝 另外,想請問,如果我改良第一種方法,以陣列的方法來判斷, 有什麼函數可以逐一比對某字串的每個字母是否都包含於([0-9].,-)其中的嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.163.176 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1541683348.A.2BF.html ※ 編輯: liquidbox (36.227.163.176), 11/08/2018 21:23:21

11/08 23:45, 5年前 , 1F
迴圈內 a=cell.range.text
11/08 23:45, 1F

11/08 23:46, 5年前 , 2F
isnumeric(left(a,len(a)-1)) 測試可判斷1234、1,000、
11/08 23:46, 2F

11/08 23:48, 5年前 , 3F
10.34、2,456.78可判斷為數值
11/08 23:48, 3F

11/09 08:33, 5年前 , 4F
已成功,原來是因為最後有特殊字元,非常謝謝
11/09 08:33, 4F
文章代碼(AID): #1Rv3YKA_ (Office)