一個 Excel 的怪問題【求助】 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 軟 體 討 論 區 > -- OFFICE 相 關 軟 體 討 論 版


PCZONE 討論區



通知

-- OFFICE 相 關 軟 體 討 論 版 Word、Excel、PowerPoint、Access、Outlook、FrontPage或Office XP等的問題解答與經驗分享

會員
一個 Excel 的怪問題【求助】
今天拿到一個 Excel 的檔案,
其資料內容看來都是 "文字" 格式,
為了要運算之故, 所以將其全轉換成 "數值" 格式,
但無論如何的轉換格式, 就是無法運算 (例如: =a1*2)

我想盡了方法, 就是無解.
後來試著利用字串轉換的方法, 想了解為什麼會這個樣子,
所以就下了這個函式 =LEN(A1) ,
結果發現回傳的值比實際的多了一個位元,
因此我又再下了一個運算式 =VALUE(RIGHT(A1,LEN(A1)-1))
這才真正地轉換成一個數值內容....

可是我的這張試算表相當大, 而且其中的內容全部都是上述的怪格式,
共有一萬多筆, 無法一筆一筆修改, 因此只好請各位高手來指點...

範例的檔案在此

只截取一小欄, 全整的檔案格式都與它一樣.

回覆
台灣水電工

該檔有可能是其他的試算表軟體轉換過來的(純猜測)
執行底下的巨集應該可以解決問題

Sub Macro1()
Dim cl As Range
For Each cl In ActiveSheet.UsedRange
If cl <> "" Then
If Asc(cl) = 63 Then cl = Mid(cl, 2)
End If
Next
End Sub
回覆
會員

你的A欄資料最左邊有一個空字元

共有一萬多筆, 無法一筆一筆修改===>是否在同一工作表且同欄呢?
假設是:偷懶如下,省得拖,提供參考
依你的方式在B1鍵入=VALUE(RIGHT(A1,LEN(A1)-1))
按CTRL+Home鍵到A1
按CTRL+Down(下)鍵到A欄最下列(假設A1000)
右移一儲存格(假設B1000)
按CTRL+Shift+UP(上)鍵選取B欄從(假設B1000)到最上列B1
按CTRL+D
看看如果是否如你所想!
回覆
會員
已解決...
引用:
最初由 沙拉油 發表
該檔有可能是其他的試算表軟體轉換過來的(純猜測)
執行底下的巨集應該可以解決問題

Sub Macro1()
Dim cl As Range
For Each cl In ActiveSheet.UsedRange
If cl <> "" Then
If Asc(cl) = 63 Then cl = Mid(cl, 2)
End If
Next
End Sub
感謝沙拉油君的協助,
您的方法相當好用, 一試就靈.
相當適合用在一堆問題表格的檔案裡.

也非常感謝 無聊君 的協助.
回覆
會員

如果確認A欄每一筆資料最左邊都有一個空字元
我會用以下兩種偷懶的辦法處理
1.如果每一筆資料除了最前面以外沒有空字元,該空字元可以文字編輯器UltraEdit>搜尋>取代的方式解決
2.如果後面還有空字元,我都用UltraEdit>編輯>選取範圍>輸入最前面空字元行列的號碼(在檢視裡面有顯示尺規及顯示行號的功能)>剪下>儲存,重新打開該檔後再copy貼到Excel

回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
MySQL 一個 是啥意思?? zongzheho ☉ -- 虛 擬 主 機 討 論 版 8 2005-04-09 02:25 AM
建立 一個 簡單的 vpn server【求助】 dcylai -- FreeBSD & Linux 討 論 版 1 2004-09-29 11:37 PM
DNS 的怪問題【求助】 galrie -- 網 路 技 術 版 4 2002-12-09 01:05 PM
申請固定IP(一個) bobhsieh ---- ADSL 軟 硬 體 技 術 4 2002-10-28 12:05 PM
一個 windows 2000 server 問題 kenxyz66 -- Windows 討 論 版 4 2001-10-28 10:31 PM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。