標題:
[發問]
設定格式化的條件
[打印本頁]
作者:
RJR
時間:
2010-8-29 11:05
標題:
設定格式化的條件
例如一張工作表資料如下:
A B C D
1 2010/9/1 09:00 AAA AAAA
2 2010/9/1 09:00 BBB BBBB
3 2010/9/1 11:00 CCC CCCC
4 2010/9/1 11:00 DDD DDDD
5 2010/9/1 15:00 EEE EEEE
6 2010/9/1 15:00 FFF FFFF
7 2010/9/2 09:15 GGG GGGG
8 2010/9/2 09:15 HHH HHHH
9 2010/9/2 15:00 III IIII
10 2010/9/2 15:00 JJJ JJJJ
11 2010/9/2 16:30 KKK KKKK
12 2010/9/2 16:30 LLL LLLL
13 2010/9/3 10:00 MMM MMMM
14 2010/9/3 10:00 NNN NNNN
15 2010/9/3 12:00 OOO OOOO
16 2010/9/3 12:00 PPP PPPP
17 2010/9/3 15:00 QQQ QQQQ
18 2010/9/3 15:00 RRR RRRR
19 2010/9/3 17:00 SSS SSSS
20 2010/9/3 17:00 TTT TTTT
我需要在每天之間一整列畫一條粗實線,以及在每逢15:00的上方畫一條雙線
效果如下:
A B C D
1 2010/9/1 09:00 AAA AAAA
2 2010/9/1 09:00 BBB BBBB
3 2010/9/1 11:00 CCC CCCC
4 2010/9/1 11:00 DDD DDDD
����������������������������������������������������������
5 2010/9/1 15:00 EEE EEEE
6 2010/9/1 15:00 FFF FFFF
─────────────────────────────
7 2010/9/2 09:15 GGG GGGG
8 2010/9/2 09:15 HHH HHHH
����������������������������������������������������������
9 2010/9/2 15:00 III IIII
10 2010/9/2 15:00 JJJ JJJJ
11 2010/9/2 16:30 KKK KKKK
12 2010/9/2 16:30 LLL LLLL
─────────────────────────────
13 2010/9/3 10:00 MMM MMMM
14 2010/9/3 10:00 NNN NNNN
15 2010/9/3 12:00 OOO OOOO
16 2010/9/3 12:00 PPP PPPP
����������������������������������������������������������
17 2010/9/3 15:00 QQQ QQQQ
18 2010/9/3 15:00 RRR RRRR
19 2010/9/3 17:00 SSS SSSS
20 2010/9/3 17:00 TTT TTTT
請問應如何設置才能顯示如此效果呢?
拜謝∼
作者:
GBKEE
時間:
2010-8-29 14:46
回復
1#
RJR
設定格式化的條件1 公式 =AND(TEXT($B1,"hh:mm")="15:00",TEXT($B65536,"hh:mm")<>"15:00")
設定格式化的條件2 公式 =$A1<>$A2
選定範圍後作用中儲存格 如圖
[attach]2626[/attach]
2003版本 設定格式化的條件, 外框的格式沒有 雙橫線可設 .試試vba
Sub Ex()
Dim Rng As Range, E As Range, T As Boolean
Set Rng = ActiveSheet.Range("A1:D" & ActiveSheet.[A1].End(xlDown).Row)
T = False
Rng.Borders.LineStyle = xlNone
For Each E In Rng.Rows
If E.Cells(1, 1) = E.Cells(2, 1) And E.Cells(1, 2) = TimeValue("15:00") And T = False Then
T = True
E.Borders(xlTop).LineStyle = xlDouble
ElseIf E.Cells(1, 1) <> E.Cells(2, 1) And E.Row <> Rng.Cells(Rng.Count).Row Then
E.Borders(xlEdgeBottom).LineStyle = xlContinuous
T = False
End If
Next
End Sub
複製代碼
作者:
RJR
時間:
2010-8-29 17:02
本帖最後由 RJR 於 2010-8-29 17:06 編輯
回復
2#
GBKEE
感謝GBKEE撥冗回覆!
但還有少許的疑問,
首先是間隔不同日子的實線並非粗線(儲存格Ctrl+1→外框→線條樣式→右邊倒數第二的那種),
所以想請問若需要粗實線的話,應怎樣設置?
另外是其實我的原文件中每列均有虛線,
VBA中的「Rng.Borders.LineStyle = xlNone」似乎會把虛線消掉,應如何解決?
拜謝∼∼
作者:
Hsieh
時間:
2010-8-29 22:16
回復
3#
RJR
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Range
For Each A In Range([B2], [B65536].End(xlUp))
With A.Offset(, -1).Resize(, 4).Borders(xlEdgeTop)
If A = TimeValue("15:00:00") And A.Offset(-1, 0) <> TimeValue("15:00:00") Then
.LineStyle = xlDouble
ElseIf A.Offset(, -1) <> A.Offset(-1, -1) Then
.LineStyle = 1
.Weight = xlThick
Else
.LineStyle = 2
.Weight = xlThin
End If
End With
Next
End Sub
複製代碼
作者:
RJR
時間:
2010-8-31 20:28
回復
4#
Hsieh
感謝您的撥冗回覆,
問題成功解決,
謝謝您。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)