Trending News
VBA~請教T2與T1新增需求之程式語法。
如題
範例附檔︰http://www.funp.net/272125
T2之需求︰
當T6有顯示出各運算起訖期數+1之B︰H的7個數值,
即=$S$6的A欄期數之B︰H的7個數值時,
就在T2標示1,2,3,4,5,6,7的註記,
即T6顯示各運算起訖期數+1之B儲存格數值時,則標示1;
顯示C儲存格數值時,則標示2;顯示D儲存格數值時,則標示3;
…………以此類推。
T1之需求︰
當各運算起訖期數之T2儲存格有顯示數值時,則標示0;
當各運算起訖期數之T7(含)以下任一儲存格有顯示數值時,則標示1;
當各運算起訖期數之T2儲存格&T7以下儲存格都有顯示數值時,則標示10;
並將有標示1之T1儲存格標示淡藍色;有標示10之T1儲存格標示黃色。
當各運算起訖期數之T2儲存格與T7(含)以下儲存格都無顯示數值時,
則T1儲存格顯示【空白】。
例如︰在運算起訖期數對話框填入︰
運算起期︰110;運算訖期︰112
則可得TEST_B_110;TEST_B_111;TEST_B_112之3個效果檔。
>>>>>>詳如︰上傳範例附檔<<<<<<
PS︰小弟使用的是2003版。
請教TEST_B新增的T2與T1需求之程式語法應該如何撰寫?
懇請
各位EXCEL大師與賢達不吝指教。
謝謝!
2 Answers
- Anonymous1 decade agoFavorite Answer
1. 稍改效率試試 : http://www.funp.net/557007
2. 不太暸題意 :
1. 執行 110 ~ 110 後,
2. 看 TEST_B 的 Sheet1,
3. 此時 T6 = 07 ; S6 = 111 ;
請問要怎麼作 ??
2009-05-23 02:02:31 補充:
第一行就不懂 ...
(被秒殺 ~ 哈哈)
T6=07
S6=111
為何找 B118:H118 ?
2009-05-23 02:30:48 補充:
喔 ~ 大致暸了 ~ 明日找時間再答 ~
所以說我怕您的題目, 呵呵 ~
2009-05-23 22:04:16 補充:
實在太複雜了,
請作一個 Sheet8 的表格表達好了 ~
2009-05-23 22:04:36 補充:
請作一個 Sheet8 的表格表達好了 ~
2009-05-24 00:34:00 補充:
只差一腳, 別放棄 ~
1. [T1:A?2] 是要填值處, Right ?
2. 我的 sheet8 :
"左有" 表歷史資料(如[B111:H111])有 ; "下有" 表公式有
2009-05-25 22:05:52 補充:
送佛送上西, 再幫您做些提升 ~
1. 需求程式 :
Sub 期資料符合()
'By WLZ 20090524
Dim 期資料 As Range
Set 期資料 = [B6:H6].Offset([S6] + 1)
Dim RgM As Range, Rg As Range, t
Set RgM = Range([T6], [T6].End(xlToRight))
With RgM.Offset(-5, 0).Resize(2)
.NumberFormatLocal = ""
.Font.Bold = True
.Font.ColorIndex = 7
End With
RgM.Offset(-5, 0).Font.ColorIndex = 11
For Each Rg In RgM.Cells
t = Application.Match(Rg.Value, 期資料, 0)
If Not IsError(t) Then
Rg.Offset(-4) = t
Rg.Offset(-5) = 0
End If
If Application.Sum(Range(Rg, Rg.End(xlDown)).Offset(1, 0)) > 0 Then
Rg.Offset(-5) = 1 & Rg.Offset(-5)
If Rg.Offset(-5) = 1 Then
Rg.Offset(-5).Interior.ColorIndex = 8
Else
Rg.Offset(-5).Interior.ColorIndex = 6
End If
End If
Next Rg
End Sub
2. 程式效率提升 :
多處 :
With Application
.Calculation = xlAutomatic
End With
With Application
.Calculation = xlManual
End With
以
ActiveSheet.Calculate
取代 ~
3. 參考檔案 : http://www.funp.net/881164
- AirmanLv 41 decade ago
worlonzeng大師︰
感謝您再次為小弟修改程式碼!!!
此次效率提高了好幾倍,
由衷感激!!!謝謝您!!!
^^
小弟現以您提之Sheet 1的T6為例,說明如下︰
1.因為T6=07,【07】並未顯示在=S6的A欄(118列)之B︰H儲存格中,故T2無顯示1~7的註記,則T1不標示【0】。
2.而T7(含)以下【任何一個】儲存格,又無符合公式條件,故無期數值顯示,則T1不標示【1】。
3.綜上所述,因而T1顯示【空白】,亦無任何顏色標示。
《續》
2009-05-22 19:46:36 補充:
《承上》
再以AH6為例︰
1.因為AH6=01,【01】並未顯示在=S6的A欄(118列)之B︰H儲存格中,故AH2無顯示1~7的註記,則AH1不標示【0】。
2.在AH7(含)以下之【AH20】儲存格,有顯示符合公式條件的【107】期數值,則AH1標示【1】。
3.綜上所述,因AH1有標示【1】,則AH1以水藍色標示。
《續》
2009-05-22 19:48:09 補充:
《承上》
再以AJ6為例︰
1.因為AJ6=14,【14】有顯示在=S6的A欄(118列)之B118儲存格中,故AJ2顯示【1】的註記,則AJ1標示【0】。
2.而AJ7(含)以下【任何一個】儲存格,並無符合公式條件,故無期數值顯示,則AJ1不標示【1】。
3.綜上所述,因AJ1有標示【0】,則AJ1就以【0】標示。
《續》
2009-05-22 19:50:25 補充:
《承上》
再以Sheet 3之AO6為例︰
1.因為AO6=30,【30】有顯示在=S6的A欄(118列)之D118儲存格中,故AO2顯示【3】的註記,則AO1標示【0】。
2.在AO7(含)以下之【AO12】儲存格,有顯示符合公式條件的【29】期數值,則AH1標示【1】。
3.綜上所述,因AO1有標示【0】,又有標示【1】,合併後,即AO1標示為【10】,且AO1則以黃顏色標示。
《續》
2009-05-22 19:52:34 補充:
《承上》
可能是因小弟疏忽,未註解【10】是由0和1合併而來的,
且為利於說明順序,二個數字又顛倒合併,才令大師一頭霧水,
尚請大師多多包涵。謝謝您!!!
T1&T2再加註函數公式,純為輔助文字說明不足之用。
謹請參考!!! 謝謝您!!!
2009-05-23 06:24:05 補充:
worlonzeng大師︰
有勞您費神了!!!
謝謝您!!!
^^
2009-05-24 00:06:23 補充:
worlonzeng大師︰
@~@~
可能是大師並未下載意見006的http://www.funp.net/495331%E7%AF%84%E4%BE%8B%E5%8F...
所以輪到小弟望著Sheet8發楞!
不知如何填入數字去向您表達~
也許小弟認為既是相關聯的問題,所以一次提問,
現在可能反而是弄巧成拙~『欲速則不達』~。
為感謝大師花費時間與精神在小弟的問題上,
因此小弟就將問題再分解,以求簡化易瞭,
並避免再徒費大師的寶貴時間。
此題就先擱置,當作是最後的總結題。
只是這樣就變成要麻煩大師很多次了,
實在不好意思,尚請見諒!!!
辛苦您了!!!謝謝您!!!
2009-05-25 15:11:03 補充:
worlonzeng大師︰
以另寄範例,謹請參考。謝謝您!!!