日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自用Excel VBA技巧整理

發布時間:2023/12/19 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自用Excel VBA技巧整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、如果想讓圖表隨著原始數據更新,就不能直接使用源數據的值,而要引用其Address(還必須是R1C1格式),例如:

猛擊展開 Dim?s?As?Series
...
Set?rg?=?Range(Worksheets("SheetXXX").Cells(1,?2),?Worksheets("SheetXXX").Cells(6,?2))
...
s.Values?
=?"='SheetXXX'!"?&?rg.Address(ReferenceStyle:=xlR1C1)
's.Values?=?rg.Value?這樣寫的壞處:
'
如果圖表的源數據是由公式通過原始數據間接得出,如VLOOKUP
'
那么原始數據變化后圖表不會自動更新,即使其源數據已經更新

也遇到過公式實在多,運行慢,圖表怎么也不更新的excel文件,就只有手動寫Worksheet_Change對應的圖表重畫了。。

?

2、VBA的邏輯運算AND、OR不是短路的。。倒是VB.Net里面有短路的AndAlso、OrElse。

?

3、用類型說明符聲明變量,String$、Integer%、Long&、Double#。我不喜歡顯式寫Dim,這種在VBA中能同時聲明類型并賦值的方法很對胃口。

猛擊展開 Sub?TypeDeclare()
????s$?
=?"abc"??'String
????i%?=?32767??'Integer,?2?bytes
????l&?=?32768??'Long,?4?bytes
????f!?=?1.5????'Single,?4?bytes
????d#?=?0.0001?'Double,?8?bytes
????c@?=?0.00000000001??'Currency,?8?bytes
????
????
MsgBox?s????'使用的時候可以不帶類型說明符
????MsgBox?l&???'當然也可以帶
End?Sub

?

4、最快遍歷一個很大的Range的方法?See Here。是官方blog上的,大意是用大范圍Range的值(一個Variant數組)代替不停取小Range(比如取一個Cell)。有機會帶Timer()實踐下。

?

5、很多時候在單元格里面用自定義Function是個不錯的選擇,比如可以寫點功能更強的VLOOKUP之類的。現在我傾向于看具體情況把VBA、內置公式和自定義函數混用,而不是只用公式或只用VBA。(當然,自定義函數畢竟是解釋執行的,感覺比自帶公式慢,小心使用。如果用的灰常多的話,寫個DLL吧。。)

?

6、裝個MZ-Tools開發體驗稍微好一些。VBE多少年沒更新了,作為IDE來講實在比較挫了。(VSTO、VSTA淚奔。。)

?

7、進行大量計算和寫入的時候最好把UI和公式更新關掉(特別是有很多公式的話,寫單元格的時候把Calculation改成Manual):

猛擊展開 Sub?SophisticatedWork()
????Application.ScreenUpdating?
=?False
????Application.Calculation?
=?xlCalculationManual
????
????
'中間的計算如果依賴一些值的最新版本
????'則手動調用?Application.Calculate
????
????Application.Calculation?
=?xlCalculationAutomatic
????Application.ScreenUpdating?
=?True
End?Sub

?

?

?

To Be Continued ...

轉載于:https://www.cnblogs.com/dxz/archive/2009/12/15/vba-tricks-collection.html

總結

以上是生活随笔為你收集整理的自用Excel VBA技巧整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。