2021年1月27日 星期三

VBA_執行錯誤6溢位

        最近請資訊同事幫忙寫一個VBA撈資料庫的資料,因為我要跑的資料大約9萬多筆,同事幫我弄完後跟我說只能顯示32,767筆,這我還是第一次遇到因為 office 2003版的限制是65,536筆,之後的版本已經能達到1,048,576筆。

        後來我上網搜尋瞭一下出現的錯誤資訊(執行錯誤6溢位),剛好有提到關於32,767筆的,應該是把資料型態設為Integer,因為代碼牽涉到資料庫密碼,因此我也看不到相關代碼,跟同事確認後的確是這設定問題,我請同事改為Long 筆數完全不會受限甚至超過1,048,576筆,long 的範圍值從-9223372036854775808 到9223372036854775807(9.2 ... E + 18)的值。 請詳官方介紹 long資料類型 。

下面的代碼會出現錯誤資訊(執行錯誤6溢位)

sub TEST_A()
    Dim r As  Integer
For r = 1 To 100000 Next End Sub

下面的代碼執行時不會出現錯誤

 

Sub TEST_B()
Dim r As Long For r = 1 To 100000 Next End Sub

2021年1月20日 星期三

升級軟體 win10 及 office 365

           之前就打算使用office 365,不過當要升級時才發現作業系統不符,必須要win 10,於是1/18開始備份資料,1/19升級成win 10,1/20 升365,作業系統感覺有比win 7時慢,可能是電腦也舊了,下次換電腦時考慮換好一點的筆電。

        升級成365開始excel也是有比2016慢,介面有點點不太依樣,不過整體看起來還可以,現在就是實際使用盡快習慣。

           

          就這樣本週過了一半,想要寫篇Excel分享,時間也變緊迫,如果之後使用仍然慢,分享時可能會花較多時間。

2021年1月11日 星期一

Power Query_00回到過去篇

          在現實中還無法回到未來,但在excel已經有回到過去的功能,而且還能把畫面暫停,隨你怎麼修改,改到滿意為止,不會改到原始檔,而且能改到你要的結果,在Power Query的檢視表能顯示每一個步驟的影響。

        在上次附加查詢時因為直接在來源的資料表中附加查詢導致之前做過的另一個查詢結果錯誤,通常附加查詢在使用時最好不要動到會被使用到的來源,這樣可以讓以後的查詢或應用更多樣,因此我們需要回去將上次做的附加查詢動做刪除。

下表因另一個來源變更導致錯誤。

另一個Power Query查詢錯誤
另一個Power Query查詢錯誤




下表為已做為其他查詢的來源,又做其他動做造成其他查詢錯誤,因此需將綠色框框內的動做刪除,打叉(X)的部分點下去就能刪除該動做。
需要修正的Power Query查詢
需要修正的Power Query查詢






       下表為修改後之情形,刪除影響的動做後,原本被影響的查詢顯示的驚嘆號!也不見了,在這裡僅用最簡單的刪除,實際任何修改動做都行,就算你改錯了,只要知道正確的方式都能在做修改。



Power Query修改後
Power Query修改後


PS.原本1/4要發佈,剛好這幾天身體較虛,被病毒侵入...

用GPT修改M語法_以日期列處理

在2023年GPT開始使用時我就詢問過GPT,可能當時的GPT還不夠聰明,給予的答案無法運行,我認為原始的語法應該可以更聰明點,詢問過Power BI社群的人,但沒有人提供答案,終於在現在再度詢問GPT給予的答案與我思考的方向依樣,只是我懂得語法不多,透過GPT幫忙解答,我也學到...