Board logo

標題: [發問] 能在一個儲存格內執行兩個格式化條的嗎? [打印本頁]

作者: hkyan    時間: 2014-4-1 15:36     標題: 能在一個儲存格內執行兩個格式化條的嗎?

在工作表內設定如下
Rm.A 為紅色
Rm.B 為藍色

但當同一儲存格內輸入是上、下午不同時段房間,便不能顕示正確設定(如下)

1/4/2014        RM.A
2/4/2014        RM.B
3/4/2014        RM.B//RM.A

[attach]17922[/attach]

因為一定要在同一儲存格內,有甚麼辦法? 試過 Rm.A Rm.B 之間space 也不成功
作者: ML089    時間: 2014-4-2 21:35

回復 1# hkyan

> 但當同一儲存格內輸入是上、下午不同時段房間,便不能顕示正確設定
   
那正確顯示是什麼 ?

一個格只能顯示一種底色,沒有辦法顯示2種底色
作者: hkyan    時間: 2014-4-3 09:58

本帖最後由 hkyan 於 2014-4-3 10:00 編輯

希望正確顯示大概是這樣, 上下午分隔不一定是//, 可以是其他符號, 但只能在同一儲存格內

1/4/2014        RM.A
2/4/2014        RM.B
3/4/2014        RM.B// RM.A
作者: hkyan    時間: 2014-4-3 11:10

本以為底色與字體顏色會有不同,哪沒辦法唯有手動調改.謝謝解答
作者: ML089    時間: 2014-4-3 22:16

回復 4# hkyan

可以使用 VBA 來處理

ALT-F11 開啟VBE
複製下列VBA
工具列 - 插入 - 模組,將VBA複製貼上

先選要改變字顏色的範圍
ALT-F8 執行VBA
  1. Sub 改變部分字串顏色()
  2.     xStr = [{"RM.A","RM.B"}]
  3.     xColor = [{3,10}] '紅、綠
  4.     For Each xRng In Selection
  5.         For j = 1 To 2
  6.             X = InStr(xRng, xStr(j))
  7.             If X > 0 Then
  8.                 With xRng.Characters(Start:=X, Length:=4).Font
  9.                     .ColorIndex = xColor(j)
  10.                 End With
  11.             End If
  12.         Next
  13.     Next
  14. End Sub
複製代碼

作者: hkyan    時間: 2014-4-11 14:14

回復 5# ML089


    謝謝解答,讓我試試
作者: hkyan    時間: 2014-4-11 15:13

回復 6# hkyan

[attach]17981[/attach]

尚有問題,如何設定格式化條件,讓每月拉出的星期日及假期(香港)都填上顏色如下

[attach]17982[/attach]
作者: ML089    時間: 2014-4-11 22:11

回復 7# hkyan


    格式化條件
條件一,公式  =AND(WEEKDAY(A1,2)>5, A1<>"")
條件二,公式  =ISNUMBER(MATCH(A1,假日範圍,))
作者: hkyan    時間: 2014-4-12 15:43

週日及假期的做不到效果,可否上傳檔案讓我參考.

另外,改變部分字串顏色,如尚會新增多項及字串長短不一時,又如何改
例如再增加
ACC >紫色
NM > 粉紅色
作者: hkyan    時間: 2014-4-12 17:46

18/4, 19/4 及 21/4 是香港假期
作者: hkyan    時間: 2014-4-12 18:27

回復 10# hkyan


假期轉色已成功,只剩 改變字串顏色
作者: ML089    時間: 2014-4-12 18:54

回復 10# hkyan

做一個範例給你參考
    [attach]17996[/attach]
作者: ML089    時間: 2014-4-12 19:08

回復 9# hkyan
  1. Sub 改變部分字串顏色()
  2.     xStr = [{"RM.A","RM.B","ACC","NM"}]
  3.     xColor = [{3,10,7,5}] '紅、綠、紫、藍
  4.     For Each xRng In Selection
  5.         For j = 1 To 4
  6.             X = InStr(xRng, xStr(j))
  7.             If X > 0 Then
  8.                 With xRng.Characters(Start:=X, Length:=Len(xStr(j))).Font
  9.                     .ColorIndex = xColor(j)
  10.                 End With
  11.             End If
  12.         Next
  13.     Next
  14. End Sub
複製代碼

作者: hkyan    時間: 2014-4-13 14:09

想了解多些,即再有新增時,必需改動的是 02. 03.行內容, 哪05. 行 > For j = 1 To 4 也要修正嗎? 它代表甚麼?.還要注意甚麼?除顏色用代號, 若加上粗體 或斜體, 又如何?

因平日多只用格式化條件,對此不怎明白.
作者: Hsieh    時間: 2014-4-14 09:55

本帖最後由 Hsieh 於 2014-4-14 10:08 編輯

回復 10# hkyan

以周六、周日為周休二日分別顯示不同顏色
其餘假日寫於假期表中供對照
字型顏色要多種不同表示,則須以VBA輔助
因為對照字串的新增、刪減,所以也應做成對照表
簡單附件供你參考
[attach]18009[/attach]
附件更新加入字型斜體、粗體、底線等格式




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