標題:
[發問]
儲存格規則問題
[打印本頁]
作者:
eghost
時間:
2015-12-22 15:49
標題:
儲存格規則問題
各位大大 您好:
目的要使儲存格自動變色 判斷式需有跨分頁判斷某區域的值 詳細問題有寫在檔案裡 煩請協助解疑 或者有其他作法 謝謝
作者:
准提部林
時間:
2015-12-22 17:08
=OR(B$3=INDIRECT("A!$M$4:$M$17"))*(B$3<>"")
=MATCH(B$3,INDIRECT("A!$M$4:$M$17"),)
=RANK(B$3,INDIRECT("A!$M$4:$M$17"))
=COUNTIF(INDIRECT("A!$M$4:$M$17"),B$3)
作者:
eghost
時間:
2015-12-22 17:10
回復
2#
准提部林
感謝版主 可以了 我研究一下 謝謝您
作者:
eghost
時間:
2015-12-22 19:25
回復
2#
准提部林
版主您好 :
還有遇到一個問題 卡住了 我試過剛剛版主的四種寫法去搭配AND 但是還是失敗 初學者 抱歉 再請指教 [attach]22929[/attach]
增加規則 判讀A! M$4和N$4之間的日期 要顯示黃色 之前在同一工作頁是用AND解決 有辦法在範圍性區域A!(M4:N14)判讀出各組區(M$4 N$4)
作者:
准提部林
時間:
2015-12-22 20:56
回復
4#
eghost
=(B$3>INDIRECT("A!M4:M17"))*(B$3<INDIRECT("A!N4:N17"))
作者:
eghost
時間:
2015-12-23 17:54
回復
5#
准提部林
感謝版大解疑 導向小弟不同的應用思維
目前測試有一問題 A! 設了多組區段時間(起點 終點) 目前只能讀到第一組的區間 之後的區間無法讀出 在煩請版大或各位先進解疑 儲存格皆有確認規則寫入
[attach]22945[/attach]
作者:
准提部林
時間:
2015-12-23 18:35
本帖最後由 准提部林 於 2015-12-24 09:34 編輯
回復
6#
eghost
OFFICE版本太舊, 格式化公式會被吃掉一些字元, 再試試:
=
OR
((B$3>INDIRECT("A!M4:M17"))*(B$3<INDIRECT("A!N4:N17")))
[attach]22958[/attach]
作者:
yen956
時間:
2015-12-24 09:19
試試VBA:
Sub 簡易橫式年曆()
Dim yy As Integer, mm As Integer, dd As Integer, d2 As Integer, w As Integer
yy = 2016
[B2:AF47] = ""
[B2:AF47].Interior.ColorIndex = xlNone
For mm = 1 To 12
d2 = Day(DateSerial(yy, mm + 1, 0))
For dd = 1 To d2
Cells(mm * 4 - 1, dd + 1) = DateSerial(yy, mm, dd)
w = Weekday(Cells(mm * 4 - 1, dd + 1), vbSunday)
Cells(mm * 4 - 2, dd + 1).NumberFormatLocal = "d"
Cells(mm * 4 - 2, dd + 1).FormulaR1C1 = "=RIGHT(TEXT(R[1]C,""aaa""))"
If w = 1 Then
Cells(mm * 4 - 2, dd + 1).Font.ColorIndex = 3
ElseIf w = 7 Then
Cells(mm * 4 - 2, dd + 1).Font.ColorIndex = 5
Else
Cells(mm * 4 - 2, dd + 1).Font.ColorIndex = 1
End If
Next
Next
End Sub
Sub 漆後資訊()
Dim shA As Worksheet
Dim LstR As Integer, I As Integer, J As Integer, eDay As Integer, mNUM As Integer
Dim Rng As Range, SD As Range, ED As Range, Scel As Range, Ecel As Range
Set shA = Sheets("A")
Set Rng = [B3:AF47]
Rng.Interior.ColorIndex = xlNone
LstR = shA.[M4].End(xlDown).Row
For I = 4 To LstR
Set SD = shA.Cells(I, 13) 'Start Date
Set ED = shA.Cells(I, 14) 'End Date
If SD.Value > ED.Value Then
MsgBox "起始日期:" & SD.Value & " > 終止日期:" & ED.Value & ", 請查明再繼續!!", vbOKOnly
Exit For
End If
Set Scel = Rng.Find(SD, Lookat:=xlWhole) '在年曆中尋找 Start Date
If Scel Is Nothing Then
MsgBox "查無此日期:" & SD & ", 請查明再繼續!!", vbOKOnly
Exit For
End If
Set Ecel = Rng.Find(ED, Lookat:=xlWhole) '在年曆中尋找 End Date
If Ecel Is Nothing Then
MsgBox "查無此日期:" & ED & ", 請查明再繼續!!", vbOKOnly
Exit For
End If
If Scel.Row = Ecel.Row Then '同一月
Scel.Resize(1, Ecel.Column - Scel.Column + 1).Interior.ColorIndex = 6
ElseIf Ecel.Row - Scel.Row >= 4 Then '跨前後月
eDay = Day(DateSerial(Year(Scel), Month(Scel) + 1, 0))
Scel.Resize(1, eDay - Scel.Column + 2).Interior.ColorIndex = 6
Cells(Ecel.Row, "B").Resize(1, Ecel.Column - 1).Interior.ColorIndex = 6
If Ecel.Row - Scel.Row > 4 Then '跨兩三月
For J = Scel.Row + 4 To Ecel.Row - 4 Step 4
Cells(J, "B").Resize(1, Cells(J, "B").End(xlToRight).Column - 1).Interior.ColorIndex = 6
Next
End If
End If
Next
End Sub
複製代碼
[attach]22955[/attach]
作者:
eghost
時間:
2015-12-25 16:20
回復
8#
yen956
感謝版主和yen956大的vba支援 小弟問題解決了 會研究y大的vba 謝謝兩位大大 ! 感激不盡 !!:loveliness:
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)