返回列表 上一主題 發帖

自動【判讀有標示指定底色的數字次數】&【次數加總】&【輸出檔案】之語法。

自動【判讀有標示指定底色的數字次數】&【次數加總】&【輸出檔案】之語法。

有重複~請刪除前題。謝謝!

需求主旨︰
1_判讀各相同西元年-月-日的名稱檔案內之全部工作表內,各有指定標示底色的單欄數字之次數。
2_將第1項的各有指定標示底色的單欄數字之次數加總。
3_將第2項的加總次數,輸出成為一個獨立檔案(名稱=今日總表(均值排序)-(西元年-月-日)_統計;其內工作表格式Copy主程式檔的"Sample"工作表)。

本題需求︰
輸出2個獨立檔案~
今日總表(均值排序)-(2019-04-05)_統計(需求檔1)
今日總表(均值排序)-(2019-04-06)_統計(需求檔2)

詳如範例檔︰   今日總表(均值排序).rar (58.65 KB)

以上 懇請各位先進惠予賜教為禱!謝謝!

本帖最後由 Airman 於 2019-5-2 10:11 編輯

回覆Scott090 說:
可以把檔案名稱做有次序的命名嗎?

抱歉!因為檔案是從App下載到電腦的,檔案的名稱格式固定且其紅色的編碼次序是有意義的,所以請恕小弟無法更改。
謝謝您!

TOP

回復 3# Scott090
Scott090大大:您好!
謝謝您的回應。
1.  1~n 個檔案, 最多可能 的 n 是多少?  
Ans:約 500個上下。

2. 假設 相同 "-(西元年-月-日)" 系列的檔案放在相同的檔案路徑" ?  
Ans:是的!都放在同一個資料夾內。

3.  所有不相同 "-(西元年-月-日)" 系列的檔案放在相同的檔案路徑" ?   
Ans:是的!都放在同一個資料夾內。  

以上  謹供參考!謝謝您^^

TOP

回復 5# Scott090
Scott090大大:您好!
以一個日期別約49個,10個日期別為490個,依需要回測多少個日期作推算被判讀檔案的總個數。

只要能執行出結果,小弟就很感激了~執行時間不是小弟考慮的範圍。
謝謝您^^

TOP

本帖最後由 Airman 於 2019-5-4 11:44 編輯

回復 7# Scott090

Scott090大大:您好!
走位有點嚴重~以總數計︰【01~06共9個】應該沒有錯^^

另外~紅色字的編碼,小弟作個補充︰
X_Y
X=號碼排序=1~49(所以一個日期別有49個檔案)
Y=期距=有_連1;_連2;... ;_連10;_1;_2;.... ;_99;_100等不定的編碼,(所以一個日期別有49(含)個以內(即會有重複)的期距編碼)。

以上謹供參考!     謝謝您^^

TOP

本帖最後由 Airman 於 2019-5-4 14:46 編輯

回復 10# Scott090
Scott090大大:您好!
1. 檔案以 日期序 做分類; 與  X-Y 無關 ==> OK! 8#的補充說明~請"忽略"即可。
2. 同一分類內每一個檔案都做相同的統計規則,
     統計規則:
                       ..........                     
                ..........
統計規則:不對!



規則重點整理~謹請參考~
統計範圍:
1_檔案內工作表的Cells([B65536].End(xlUp).Row) <10(即最後有數字的列數小於第10列)的檔案略過不計。
2_搜尋統計的範圍從第2列(即第一列標題的數字不在計算範圍)到Cells([B65536].End(xlUp).Row - 8, 2).Resize(1, 49)。

統計規則:
單一個(即有標示40號底色)是指︰檔案內的工作表之
當Cells([B65536].End(xlUp).Row - 8, 2).Resize(1, 49)有顯示數字(即<>""),
但Cells([B65536].End(xlUp).Row - 9, 2).Resize(1, 49)的同欄沒有數字(即="")
或
當Cells([B65536].End(xlUp).Row - 8, 2).Resize(1, 49)=第2列時,某欄有顯示數字(即<>""),

連2個(即有標示39號底色)是指︰檔案內的工作表之
當Cells([B65536].End(xlUp).Row - 8, 2).Resize(1, 49)有顯示數字(即<>""),
且Cells([B65536].End(xlUp).Row - 9, 2).Resize(1, 49)的同欄也有數字(即<>"")
但Cells([B65536].End(xlUp).Row - 10, 2).Resize(1, 49)的同欄沒有數字(即="")
或
當Cells([B65536].End(xlUp).Row - 8, 2).Resize(1, 49)=第3列時,某欄有顯示數字(即<>""),
且Cells([B65536].End(xlUp).Row - 9, 2).Resize(1, 49)的同欄也有數字(即<>"")

連3個(即有標示45號底色)是指︰檔案內的工作表之
當Cells([B65536].End(xlUp).Row - 8, 2).Resize(1, 49)有顯示數字(即<>""),
且Cells([B65536].End(xlUp).Row - 9, 2).Resize(1, 49)的同欄也有數字(即<>"")
且Cells([B65536].End(xlUp).Row - 10, 2).Resize(1, 49)的同欄也有數字(即<>"")
但Cells([B65536].End(xlUp).Row - 11, 2).Resize(1, 49)的同欄沒有數字(即="")
或
當Cells([B65536].End(xlUp).Row - 8, 2).Resize(1, 49)=第4列時,某欄有顯示數字(即<>""),
且Cells([B65536].End(xlUp).Row - 9, 2).Resize(1, 49)的同欄也有數字(即<>"")
且Cells([B65536].End(xlUp).Row - 10, 2).Resize(1, 49)的同欄也有數字(即<>"")

其餘連4個,....,連6個以此類推。

連7個(即有標示8號底色)是指︰檔案內的工作表之
當Cells([B65536].End(xlUp).Row - 8, 2).Resize(1, 49)有顯示數字(即<>""),
且Cells([B65536].End(xlUp).Row - 9, 2).Resize(1, 49)的同欄也有數字(即<>"")
且Cells([B65536].End(xlUp).Row - 10, 2).Resize(1, 49)的同欄也有數字(即<>"")
且Cells([B65536].End(xlUp).Row - 11, 2).Resize(1, 49)的同欄也有數字(即<>"")
且Cells([B65536].End(xlUp).Row - 12, 2).Resize(1, 49)的同欄也有數字(即<>"")
且Cells([B65536].End(xlUp).Row - 13, 2).Resize(1, 49)的同欄也有數字(即<>"")
且Cells([B65536].End(xlUp).Row - 14, 2).Resize(1, 49)的同欄也有數字(即<>"")

TOP

回復 12# 准提部林
准大:您好!
測試成功~感恩^^

您說的沒有錯~
' If R < 10 Then xB.Close 0: GoTo 101
改為
If R < 2 Then xB.Close 0: GoTo 101  '照模擬應該用這一行
答案才是正確的。謝謝您^^

TOP

回復 13# Scott090
Scott090大大:您好!
不好意思,2個"統計"檔為2007版無法開啟核對答案;
主程式檔點執行鍵~沒有反應^^"

TOP

本帖最後由 Airman 於 2019-5-4 23:01 編輯

回復 13# Scott090
Scott090大大:您好!
不好意思,沒有注意到您程式寫在模組1^^"
在執行檔添加Main
已可正確執行。

執行後~答案正確~測試成功~感恩^^

特別感謝您的文字註解^^

TOP

本帖最後由 Airman 於 2019-5-5 17:21 編輯

回復 12# 准提部林





准大︰您好!
不好意思,能再幫小弟加一個指定日期的開獎號碼嗎^^"

說明︰
當統計檔案的日期=DATA的A欄日期時,
則將統計檔案內的"Sample"工作表之$B$1︰$AX$1有出現該A欄日期的D︰J的數字標示底色~
=D︰K的數字標示6號底色;=J的數字標示43號底色。
如該DATA的A欄日期的D︰J=""(即沒有出現數字),則都不標示底色。

PS︰因為DATA和檔案名稱是由2個不同軟體下載的,所以不同~
如果這樣編寫會很麻煩,就請將DATA的A欄日期格式改為與統計檔案名稱的日期格式相同。

謝謝您^^

今日總表(均值排序)_T.rar (93.76 KB)

TOP

        靜思自在 : 閒人無樂趣,忙人無是非。
返回列表 上一主題