返回列表 上一主題 發帖

[發問] 格式設定 ?

[發問] 格式設定 ?

本帖最後由 t8899 於 2022-8-10 06:33 編輯

請教格式設定
#,##0.??;[紅色]-##,#?0.??
這個格式,我輸入123,會顯示 123.  , 多一個"."
我要的是如果我輸入123.1, 就顯示123.1 , 輸入123就顯示123,另外也要有千位符號","
格式不知如何設定?
通用格式可以解決但是無法顯示仟位符號"," ??

本帖最後由 Andy2483 於 2022-8-11 11:51 編輯

回復 1# t8899


   
不顯示整數後方的 "." 並維持各個位數對齊
1.按TEST按鈕
2.執行後由於變化很小! 需查看有底色的儲存格
3.避免影響其它格式的儲存格! 格式設定為以下兩種的才會被變更格式 或 交換變更格式
A.         #,##0.??;[紅色]-##,#?0.??
B.         #,###_._0_0;[紅色]-#,###_._0_0

PS:格式設定的呈現結果最好與原值相同!否則有目視的應用誤差!

20220811.zip (16.58 KB)

Option Explicit
Sub TEST()
Dim Ar As Range, a  As Range, NF1, NF2
NF1 = "#,###_._0_0;[紅色]-#,###_._0_0"
NF2 = "#,##0.??;[紅色]-##,#?0.??"
Set Ar = Cells
For Each a In Ar.SpecialCells(2)
   If a.NumberFormatLocal = NF1 Or a.NumberFormatLocal = NF2 Then
      If a Like "*#" = True And a Like "*.*" = False Then
         a.NumberFormatLocal = NF1
         ElseIf a Like "*#.#*" Then
            a.NumberFormatLocal = NF2
      End If
   End If
Next
End Sub

TOP

回復 2# Andy2483
謝謝指導,這設定一要用巨集解決??

TOP

回復 3# t8899
1.前輩的這帖讓後學學到不少關於格式設定的知識!謝謝前輩
2.後學猜測前輩的需求,想到這方法,暫時找不到其它的方法
3.如果後輩的VBA方法符合前輩的需求,後學也想知道有沒有更簡單的方法!拋磚引玉!請各位前輩再指導!

TOP

回復 3# t8899


    這樣嗎?
用2個格式化條件試試



Image 3.png


第一個
公式 =$A1=INT($A1)
格式用選的






第二個
公式 =$A1<>INT($A1)
格式  #,##0.??;[紅色]-##,#?0.??



TOP

回復 5# quickfixer
l確實厲害,我沒想到用條件格式化解決

TOP

回復 5# quickfixer


    感謝前輩指導!
後輩初步認識 如何將儲存格自身內容用多條件(公式)控制儲存格格式!
謝謝!

TOP

        靜思自在 : 人事的艱難與琢磨,就是一種考驗。
返回列表 上一主題