返回列表 上一主題 發帖

[發問] 儲存內的 1  一 都輚成半型的1

回復 3# pinklee
國字的數值要轉成數字會有習慣不同的問題
例如:12若是標準應以一十二才能與二十以上文數字配合
若以數字直接編譯則應為一二
要以口語化轉譯似乎有困難
學海無涯_不恥下問

TOP

回復 7# pinklee


    如果國數字的寫法與格式DBNum1相同可試試
預設最大數字為2000(因為號碼有超過1000號的地址)
可自行設定
  1. Sub nn()
  2. Dim C As Range
  3. For i = 2000 To 1 Step -1
  4. k = Application.Text(i, "[DBNum1]")
  5.   Cells.Replace k, i
  6. Next
  7. For Each C In ActiveSheet.UsedRange
  8. C.Value = StrConv(C.Value, vbNarrow, LocaleID)
  9. Next
  10. End Sub
複製代碼
學海無涯_不恥下問

TOP

本帖最後由 Hsieh 於 2011-9-22 22:27 編輯

回復 9# pinklee

不是說了要以DBNUM1格式為前提嗎?
若有兩種可能
如:12=> 一十二
    或十二
    或一二
  1. Sub nn()
  2. Dim C As Range
  3. With ActiveSheet.UsedRange
  4. For i = 200 To 1 Step -1
  5. k = Application.Text(i, "[DBNum1]")
  6. m = Application.Text(i, "[DBNum1]0")
  7.   .Cells.Replace m, i
  8.   .Cells.Replace k, i
  9.   If Int(i / 10) = 1 Then .Cells.Replace Mid(k, 2), i
  10. Next
  11. For Each C In .Cells
  12. C.Value = StrConv(C.Value, vbNarrow, LocaleID)
  13. Next
  14. End With
  15. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 謊言像一朵盛開的鮮花,外表美麗,生命短暫。
返回列表 上一主題