【閒聊】一個EXCEL一直存在的問題

顯示結果從第 1 筆 到 2 筆,共計 2 筆
  1. #1
    平風造雨 cinta3344 的大頭照
    註冊日期
    2002-04-11
    討論區文章
    72

    【閒聊】一個EXCEL一直存在的問題

    如果各位常常在各種格式方面做設定的話或者常接收來自初學者的XLS檔,應該也多少遇到我所遇到的情況,而個人從Office 95,97,2000到XP,這個問題M$少有改善,因此一方面將我的土方法野人獻曝,一方面也期望有高人指導更簡便的方法∼
    ex.
    1.原為「文字格式」變更為「日期」或「通用/一般」等格式後,排序會失敗(例如11111,2111,311,41四個直所在的儲存格原為文字格式,變更為通用或一般後,使用遞增排序依然沒有變換順序,但在XP會出現警告選項,基本上已更正錯誤)
    2.VBA的比對問題:若A1的格式為通用,值為12345,A2的格式為文字,值也為"12345",稍有計算機基礎者都知道要將A1格式改為文字A2改為通用或數字...等格式,以期讓他們的"資料型別?"相同,但問題來了,就算你更正了1000次,cells(1,1)=cells(2,1)這個判別式依然是False,小弟以前在寫日報比對程式時就吃過它的虧∼

    其實以上兩個問題是同一種問題,基本上都是格式重設後Excel沒有"確實"更正的結果,而我發現只要重新進入儲存格編輯一次,格式就能正確被更正,而編輯的快速鍵是{F2},因此只要寫一個簡單的迴圈將你變更過格式的Range重新掃一次就好了,簡單範例如下:
    Sub ResetCell()
    for I=1 to 10
    SendKeys "{F2}"
    SendKeys "{Enter}" '會受USER變更ENTER鍵預設移動方向影響
    next
    End Sub



  2. #2
    Take it easy~ leonchou 的大頭照
    註冊日期
    2001-05-03
    討論區文章
    3,244
    我想"改變儲存格格式"是比較偏向外在的,
    也就是「顯示格式」而已,本質上並沒有改變。
    Excel僅認定改變格式後"重新輸入"的值,
    這所謂「重新輸入」,即使只是進入編輯狀態
    (滑鼠點兩下或按F2)再Enter就算數。
    這是屢見不鮮而且也屢試不爽的,所以
    問題只剩下「如何快速更新所有儲存格的值」..
    如今cinta兄提供了一個很有建設性的解決方案,
    謝謝你的分享!

    補充一下,
    SendKeys只會作用在目前儲存格,
    所以在執行巨集前要先選取範圍的第一格,
    或是直接在程式第一行Select第一格,
    以免和想要的結果有出入。

類似的主題

  1. 被一個ip一直要求服務
    作者:chan15 所在討論版:-- 網 路 技 術 版
    回覆: 10
    最後發表: 2004-10-25, 01:45 PM
  2. 【求助】一個EXCEL的問題
    作者:chyi 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 3
    最後發表: 2003-08-18, 04:08 PM
  3. 【問題】giga一個IP分享的問題
    作者:marcoarch 所在討論版:---- ADSL 軟 硬 體 技 術
    回覆: 2
    最後發表: 2002-04-09, 01:47 PM
  4. 幫幫忙,一個excel的問題
    作者:SugarSa 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 0
    最後發表: 2001-11-25, 06:04 PM
  5. 問一個Excel的問題 ??
    作者:LibraJoe 所在討論版:-- OFFICE 相 關 軟 體 討 論 版
    回覆: 2
    最後發表: 2001-05-01, 12:12 AM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •