tft每日頭條

 > 科技

 > ppt可以插帶vba的表單嗎

ppt可以插帶vba的表單嗎

科技 更新时间:2024-08-21 12:21:13

ppt可以插帶vba的表單嗎(PPT報告可視化控件)1

由于平常上班,加上業餘時間又報了會計财務知識培訓和理财訓練營,沒有過多精力去做Excel和PPT技能方面的教程。最近有粉絲問Tony,能不能做一期PPT動态圖表方面的講義,趁着今天周末,上帝都不幹活的日子,Tony花費一點時間做這樣一期教程,希望對大家有所幫助。

目前,對于在PPT中實現動态圖表,傳統的做法是做好基礎圖表,利用PPT的動畫效果進行觸發,這樣做出來的圖表動态效果是有了,但真正演示的時候很蹩腳。既然傳統的形式達不到令人滿意的效果,那今天Tony就來跟大家講解如何使用控件 VBA代碼實現動态交互的體驗感

利用PPT控件 VBA代碼實現動态交互圖表,在目前整個互聯網,近乎是一片空白 ,Tony翻閱了好多資料,有幸從劉萬祥老師那裡看到了制作PPT動态圖表的教程,方法是沒問題,但在運行代碼時出現800報警 ,起初我以為是自己的數據源和鍊接單元格值有問題,就将代碼從頭至尾每條進行了研究,經過多方驗證,搞的是死去活來,還是失敗 ,當時已經有了放棄的沖動,我們先看下現在互聯網上流傳的控件代碼:

ppt可以插帶vba的表單嗎(PPT報告可視化控件)2

ppt可以插帶vba的表單嗎(PPT報告可視化控件)3

這段代碼用到了VBA的Gotfocus和Lostfocus,也就是觸發焦點和失去焦點時運行釋放對象變量。數據源區域Listrng和鍊接單元格Tarcell,以及組合框每次下拉時對應單元格值的變化,邏輯上沒有問題,但保存.pptm運行時出現報錯……

現在不糾結問題出現在哪裡?今天Tony用自己的方法與步驟來講解具體的操作方法 :

前面步驟都一樣:

1.先在Excel中做好動态圖表,利用Index、Offset、Vlookup以及Iferror函數均可,這是最基本的,這裡不做講解。

2.将包含動态圖表的 Excel 文件嵌入到 PPT,複制 Excel 文件裡放置圖表的單元格區域(注意是圖表後面的單元格區域,不是圖表),在 PPT 裡任意一頁,選擇性粘貼 - 工作表對象,這樣,就把那個 Excel 文件“嵌入”到這個 PPT 裡了。

3.在 PPT 裡插入組合框

打開PPT,開發工具 - 控件,插入一個組合框。如果你的 PPT 沒有 開發工具,請先在 文件 - 選項 - 自定義功能區 裡調出來。接下來我們需要雙擊組合框,會出現VBA畫面,現在要做的是使用VBA代碼從 Excel 裡讀出選擇項列表,賦給下拉框。

4.在VBA界面寫入代碼

左側選中 slide1 或 slide2 這樣的對象(前面有個 PPT 的小圖标,Tony這裡選的是slide2),在右側代碼區輸入如下的代碼:(代碼下面,大家可以直接套用,但一定記住:sh.Range(”s2:s15”)和sh.Range(“c11”)的值是你自己數據源和鍊接單元格的值,它是變化的)

ppt可以插帶vba的表單嗎(PPT報告可視化控件)4

這段代碼所做的事情,就是在每次 PPT 放映、下拉框被選中的時候,就去打開那個嵌入在 PPT 裡的 Excel 文件,讀取其中工作表的 S2:S15範圍,把這些選擇項賦給下拉框。當你進行下拉選擇時,代碼會執行把你選擇的結果寫入工作表的C11單元格,以驅動圖表變化。

5.放映PPT播放動态圖表

在全屏模式下放映PPT,鼠标點擊下拉框,可能會看到賦值的一下閃動,這時下拉框可能隻有1行,再點一下下拉框,就可以完全展開了(這應該是個小bug)。選擇某個選擇項,右側的圖表就可以實現動态切換了!

ppt可以插帶vba的表單嗎(PPT報告可視化控件)5

6.保存PPT文件

保存文件時會提示含有宏,選擇保存為後綴名為 .pptm 帶宏格式的文件。下次打開時會有宏提示,選擇啟用宏即可。

7.數據更新

以後需要更新數據時,應該更新 PPT 裡的嵌入對象。可以直接雙擊打開,但這樣窗口太小,不方便操作。這時我們在嵌入對象上 右鍵 - 工作表對象 - 打開,這樣會打開一個大的 Excel 窗口供你編輯,這樣會更方便。

PPT中可以完美支持演示所有的Excel圖表,甚至在PPT中直接也可以做動态圖表,當然還是要借助VBA代碼來實現,不過也并不難,如果大家有興趣學習更多的進階Excel動态圖表、PPT動态圖表知識,歡迎私信@Tony,最後祝大家玩的愉快 ,當然,Tony不介意你的雙手與贊成,以期能夠創作更多作品,與大家共勉。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved