Board logo

標題: [發問] 格式設定 ? [打印本頁]

作者: t8899    時間: 2022-8-10 06:29     標題: 格式設定 ?

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

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

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

回復 1# t8899


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

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

[attach]35143[/attach]

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
作者: t8899    時間: 2022-8-12 07:08

回復 2# Andy2483
謝謝指導,這設定一要用巨集解決??
作者: Andy2483    時間: 2022-8-12 14:23

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

回復 3# t8899


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

[attach]35144[/attach]

[attach]35145[/attach]


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

[attach]35146[/attach]

[attach]35147[/attach]


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

[attach]35148[/attach]

[attach]35149[/attach]
作者: t8899    時間: 2022-8-15 05:54

回復 5# quickfixer
l確實厲害,我沒想到用條件格式化解決
作者: Andy2483    時間: 2022-8-15 08:04

回復 5# quickfixer


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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)