(已解決)關於動態圖表定義命名範圍後 新增資料不會自動更新
- 帖子
- 3
- 主題
- 1
- 精華
- 0
- 積分
- 15
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2003
- 閱讀權限
- 10
- 性別
- 女
- 註冊時間
- 2011-6-23
- 最後登錄
- 2012-4-6
|
(已解決)關於動態圖表定義命名範圍後 新增資料不會自動更新
本帖最後由 moonsmyrna 於 2011-12-20 17:56 編輯
各位前輩你好~
我想在表格新增欄位(不是新增列)時,圖表跟著變動
例如目前有A,B,C欄位 我想新增D,E
但問題是我設定好圖表的資料範圍=graphexpr後,資料顯示正確
但新增D,E欄位時,卻沒反應,要手動再設一次資料範圍=graphexpr才會更新
我目前有定義命名範圍如下
graphexpr=OFFSET('合併 (2)'!$B$3:$B$10,0,0,8,COUNTA('合併 (2)'!$B$3:$L$3))
我所做的檔案如附件
Netbecnch.zip (11.08 KB)
是不是我有哪裡用錯了呢>"<再麻煩各位指教
或是有其他文章可參考的呢 |
|
|
|
|
|
|
- 帖子
- 3
- 主題
- 1
- 精華
- 0
- 積分
- 15
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- Office 2003
- 閱讀權限
- 10
- 性別
- 女
- 註冊時間
- 2011-6-23
- 最後登錄
- 2012-4-6
|
2#
發表於 2011-12-20 17:50
| 只看該作者
本帖最後由 moonsmyrna 於 2011-12-20 17:57 編輯
相信答案就在討論版中,所以大家才都沒理我,既然這樣,只好自力救濟了!!
最後爬文借助GBKEE前輩的VBA程式&google大神的力量解決了這次的困難
GBKEE前輩回答的主題
提供圖表相關的VBA程式,對我來說滿有用的(-不召蜂引蝶的小花-)
終於完成不管新增列或欄的資料,圖表都會跟著變動~vba程式碼變更如下- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Dim 繪圖區 As Range
- Dim i, j As String
-
- If [COUNTA(合併!$A:$A)] > 0 Then
- i = [COUNTA(合併!$A:$A)] '計算有值的列數
- j = [SUBSTITUTE(ADDRESS(ROW(),COUNTA(合併!$A$2:$Z$2),4),ROW(),"")] '計算有值的行數,並轉換成行名 ex:第1行為A
- Else
- i = 2
- j = "B"
- End If
-
- Set 繪圖區 = Range("B2", j & i)
- ChartObjects("Chart 1").Activate
- ActiveChart.SetSourceData 繪圖區, 2
- ActiveChart.ApplyCustomType ChartType:=xlUserDefined, TypeName:="cheryl" '設定圖表類型 自訂cheryl
- ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Throughput" 'Y軸title
- ActiveChart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Engines" 'X軸title
- ActiveChart.SeriesCollection(1).XValues = Range("A3", "A" & i) '設定X軸類別
- Target.Select
- End Sub
複製代碼 附上完成版excel
Netbecnch2_o2.zip (22.79 KB)
當然還有些BUG...像是如果不是連續資料(ex: AAA,BBB,<空格>,CCC)的話 圖表就會怪怪的
再請大家指教OTZ |
|
|
|
|
|
|