標題:
[發問]
請問如何隨表內數值變動時,自動變更圖表座標刻度尺值
[打印本頁]
作者:
peter460191
時間:
2014-6-9 13:58
標題:
請問如何隨表內數值變動時,自動變更圖表座標刻度尺值
請問各為專家:
(圖2)裡的座標刻度(圖3),如何隨計表內(圖1)數值變動時,自動變更圖表座標刻度尺值
最小值:參照(圖1)的(B114儲存格),位置會變動
最大值:參照(圖1)的(B98儲存格),位置會變動
主要刻度間距:參照(圖1)的(I4儲存格),位置 不會變動
類別X軸相交於:參照(圖1)的(B108儲存格),位置不會變動
另附上檔案請專家幫忙,謝謝您!
[attach]18457[/attach][attach]18458[/attach][attach]18459[/attach][attach]18460[/attach]
作者:
GBKEE
時間:
2014-6-12 09:22
本帖最後由 GBKEE 於 2014-6-12 09:25 編輯
回復
1#
peter460191
試試看
Option Explicit
' Sheet6("工作價位走勢圖")工作表模組的程式碼
Private Sub Worksheet_Calculate() '工作表中儲存格公式值有變動的預設事件
自動變更圖表座標刻度尺的值
End Sub
Private Sub Worksheet_Change(ByVal Target As Range) '工作表中儲存格值有變動的預設事件
自動變更圖表座標刻度尺的值
End Sub
Private Sub 自動變更圖表座標刻度尺的值()
If [count(Sales)] > 0 Then
With ChartObjects(1).Chart.Axes(xlValue)
.MinimumScale = [min(Sales)] '數值列的最小值
.MaximumScale = [max(Sales)] '數值列的最大值
' ** [ 活頁簿的函數公式 ] *** 不可用變數
.MinorUnit = 1
.MajorUnit = 1
.CrossesAt = ([min(Sales)] + [max(Sales)]) / 2
'CrossesAt 傳回或設定數值座標軸上與類別座標軸的交點。僅套用至數值座標軸
End With
End If
End Sub
複製代碼
作者:
peter460191
時間:
2014-6-13 12:54
回復
2#
GBKEE
非常謝謝GBKEE超級版大
我趕快來試試看。
謝謝您 !
作者:
peter460191
時間:
2014-6-16 12:38
回復
2#
GBKEE
請問GBKEE版大
不好意思!試了好多次,都沒反應,想請教GBKEE版大要如何使用?
作者:
GBKEE
時間:
2014-6-16 13:10
回復
4#
peter460191
你工作表上有名稱定義
Sales
這範圍內從上而下的給資料
作者:
peter460191
時間:
2014-6-17 13:07
回復
5#
GBKEE
GBKEE版大,不好意思!
初學VBA,不太了解您的意思,方便再細部指導嗎?
拍勢啦!謝謝您!
作者:
GBKEE
時間:
2014-6-17 13:18
本帖最後由 GBKEE 於 2014-6-17 13:22 編輯
回復
6#
peter460191
你工作表上有名稱定義 Sales 這範圍內從上而下的給資料
到工作表指令 插入-> 名稱->定義
看看範圍在哪裡
[attach]18511[/attach]
作者:
peter460191
時間:
2014-6-17 14:15
回復
7#
GBKEE
GBKEE版大,不好意思!我懂您的意思了,但是我想要的值是另一張工作表的四個值(其中2個固定,2個變動;若變動值不行,4個固定也可以),不知這樣程
式要如何寫?謝謝您了!
(表2-價位走勢圖)裡的座標刻度,如何隨計表內(表1-計劃表(主檔))數值變動時,自動變更(表2-價位走勢圖)圖表座標刻度尺值
最小值:參照(表1-計劃表(主檔))的(B114儲存格),位置會變動,
最大值:參照(表1-計劃表(主檔))的(B98儲存格),位置會變動
主要刻度間距:參照(表1-計劃表(主檔))的(I4儲存格),位置 不會變動
類別X軸相交於:參照(表1-計劃表(主檔))的(B108儲存格),位置不會變動
作者:
GBKEE
時間:
2014-6-18 06:05
回復
8#
peter460191
2# 之前的 Sheet6("工作價位走勢圖")工作表模組程式碼要刪掉
是這樣嗎
' Sheet3("計劃表(主檔)")工作表模組的程式碼
Private Sub Worksheet_Calculate() '工作表中儲存格公式值有變動的預設事件
自動變更圖表座標刻度尺的值
End Sub
Private Sub Worksheet_Change(ByVal Target As Range) '工作表中儲存格值有變動的預設事件
自動變更圖表座標刻度尺的值
End Sub
Private Sub 自動變更圖表座標刻度尺的值()
With Sheets("價位走勢圖").ChartObjects(1).Chart.Axes(xlValue)
.MinimumScale = [min(B109:B116)] '數值列的最小值 :位置會變動(取範圍內的最小值)
.MaximumScale = [max(B98:B107)] '數值列的最大值 :位置會變動(取範圍內的最大值)
' ** [ 活頁簿的函數公式 ] *** 不可用變數
'.MinorUnit = 1
.MajorUnit = [I4] '位置會固定
.CrossesAt = [B108] '位置會固定
'CrossesAt 傳回或設定數值座標軸上與類別座標軸的交點。僅套用至數值座標軸
End With
End Sub
複製代碼
作者:
peter460191
時間:
2014-6-19 10:03
回復
9#
GBKEE
非常謝謝GBKEE超級版大
就是這樣的效果,您真是厲害
要好好來學學
謝謝您 !
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)