Board logo

標題: 請教自動圖表的相關問題 [打印本頁]

作者: alsr    時間: 2014-4-29 23:13     標題: 請教自動圖表的相關問題

諸位先進

    最近開始學VBA,想要在獨立的圖表上加入二個下拉式選單來自動更新想看的圖表,一個是選擇資料來自哪一個工作表,另一個是工作表中的資料範圍。
我的作法是用表單控制項拉出兩個下拉式選單,裡面內容連結其它地方,想要撰寫vba時,卻無法得知這兩個下拉式的name,導致後續無法動作,google了一陣子,似乎沒有這類問題的解答,有一說法是用active X,不過我安全性開最大,也無法在chart中插入active X的選單。

請問各位先進有誰可以幫我隔空抓葯,看我哪裡思路有問題,謝謝。
作者: Hsieh    時間: 2014-4-29 23:32

回復 1# alsr


    要取得表單控制項的值
例如下拉選單1,設定輸入範圍A2:A4
With Shapes("Drop Down 1").OLEFormat.Object '關於下拉選單1的OLE物件
  MyText= Range(.ListFillRange)(.Value) '取得選擇的文字
End With
作者: alsr    時間: 2014-4-30 06:48

回復 2# Hsieh


感謝版主,小弟試過,發現有兩個問題,煩請不吝解答
一、我在嘗試在工作表添加這段程式碼中,額外添加 MsgBox mytext來嘗試是否有問題,可是我發現msgbox只會出現一次,當我使用下拉式選單再選一次的時候,就不會出現訊息了,想請教若要確認每次更新下拉式選單時,mytext的值有變化的話,程式碼應如何改寫?

二、我有在同一個chart頁面另外再拉一個按鈕,想要用按鈕去確定兩個下拉式選單的值在另外重新繪圖,但是在裡面的程式碼添加版主的程式碼時,發現excel顯示不認識shpaes這個sub,請問原因來自何處。

感恩。
作者: Hsieh    時間: 2014-4-30 09:38

回復 3# alsr

首先確定你的下拉選單是表單控制項或是active X控制項?
請上傳檔案以便暸解
作者: alsr    時間: 2014-4-30 20:45

回復  alsr

首先確定你的下拉選單是表單控制項或是active X控制項?
請上傳檔案以便暸解
Hsieh 發表於 2014-4-30 09:38




    版主您好,我的下拉選單是表單控制項

檔案如下,我想用下拉選單來調整資料抓取的範圍,希望您能給我建議,謝謝。[attach]18195[/attach]
作者: Hsieh    時間: 2014-4-30 23:20

回復 5# alsr

我想你是希望點選下拉清單後就能執行變換資料來源
將程序寫在一般模組
  1. Public Sub chart_change()
  2. With ActiveChart
  3.    With .Shapes("Drop Down 1").OLEFormat.Object '關於下拉選單1的OLE物件
  4.    mytext = Range(.ListFillRange)(.Value) '取得選擇的文字
  5.    End With
  6.   With .Shapes("Drop Down 2").OLEFormat.Object '關於下拉選單1的OLE物件
  7.   mytext2 = Range(.ListFillRange)(.Value) '取得選擇的文字
  8.   End With
  9. .SetSourceData Source:=Sheets(mytext).Range("A:A").Find(mytext2, lookat:=xlWhole).Resize(, 17)
  10. End With
  11. End Sub
複製代碼
將兩個下拉清單都指定巨集啟動該程序
[attach]18196[/attach]
作者: alsr    時間: 2014-5-1 08:43

回復  alsr

我想你是希望點選下拉清單後就能執行變換資料來源
將程序寫在一般模組將兩個下拉清單都指定 ...
Hsieh 發表於 2014-4-30 23:20


感恩,感恩

謝謝Hsieh大無私的教導。

這些手法讓小弟我大開眼界,再次感恩。
作者: alsr    時間: 2014-5-6 16:46

[attach]18219[/attach]
回復  alsr

我想你是希望點選下拉清單後就能執行變換資料來源
將程序寫在一般模組將兩個下拉清單都指定 ...
Hsieh 發表於 2014-4-30 23:20



    再次請教,如果我的圖表想要用兩組資料成一條線,則資料該如何重寫?

另,請教版主,如果想到知道下拉清單的物件的指定位置,如sheets(1).range("a1")之類的,有什麼寫法可以了解嗎,謝謝。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)