我有下表SKU和Volume(E4:F10)
| 庫存單位 | 體積 |
|---|---|
| 一個 | 10 |
| b | 20 |
| C | 30 |
| d | 40 |
| e | 50 |
| F | 60 |
我需要用這些資料制作一個圖表,行數由 E2 中的一個數字確定。例如,如果 E2 中的數字是 4,我的圖表應該只包含不超過 c 的 SKU。
我的代碼如下:
Sub selectVar()
Dim x As Integer
x = Range("f1").Value
ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
ActiveChart.SetSourceData Source:=Range("E4" & ":" & "F" & x)
End Sub
但我收到一個錯誤:
運行時錯誤“1004”物件
“_Global”的方法“范圍”失敗
uj5u.com熱心網友回復:
為什么會出現這個錯誤?
我重新創建了您顯示的資料并運行了您的代碼。我得到了同樣的錯誤。在引發錯誤時單擊“除錯”按鈕后,我被定向到該行ActiveChart.SetSourceData Source:=Range("E4" & ":" & "F" & x)。這條線是首先要檢查的地方。我可以看到變數x被使用了,那么它的值是多少?0. 變數x從單元格中獲取其值,F1但該單元格中沒有資料,因此默認值為 0。因此您的代碼試圖將圖表的源范圍設定為E4:F0這是不可能的,因為沒有單元格,F0因此引發錯誤。
解決方案
您提到 cellE2應該包含圖表將繪制的行數,因此第一件事是將xfrom cell的來源更改F1為 cell E2。假設E2在您的示例中具有 4 的值,那么您的代碼將嘗試使用的范圍是 thenE4:F4這不是所需的輸出。您需要 4 行資料,而不是第 4 行的單元格。請嘗試將此行改為設定源資料:ActiveChart.SetSourceData Source:=Range("E4" & ":" & "F" & x 4) 4 被添加到 x 的值,因為您的范圍/表格的第一行位于第 4 行。請注意,此處的 4 行資料包括標題行,這意味著在此示例中將僅繪制資料行 5、6 和 7。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/407222.html
標籤:
上一篇:自動展開下拉串列
