返回列表 上一主題 發帖

[發問] 動態修正匯入圖表的最後資料列之列數所延伸的問題

回復 34# GBKEE
老是打擾您也會感到不好意思的,但不巧的它出現如下的錯誤訊息,它又沒指出是哪裡,只得求助您了!

TOP

回復 36# GBKEE
錯誤訊息一樣,發現問題應該是出在  ----> 陣列設定  上。
  1. Dim xRow(1 To 6), yCol(1 To 6), cWidth(1 To 6), cHeight(1 To 6), xText(1 To 6)
  2. Dim Chart_Source(1 To 6)

  3. Private Sub 陣列設定(ShName As String)
  4.     Dim Rng As Range

  5.     xRow(1) = IIf(ShName = "Omega", 4, 1)
  6.     xRow(2) = IIf(ShName = "Omega", 18, 16)
  7.     xRow(3) = IIf(ShName = "Omega", 4, 1)
  8.     xRow(4) = IIf(ShName = "Omega", 18, 16)
  9.     xRow(5) = IIf(ShName = "Omega", 4, 1)
  10.     xRow(6) = 31

  11.     yCol(1) = IIf(ShName = "Omega", 55, 1)
  12.     yCol(2) = IIf(ShName = "Omega", 35, 1)
  13.     yCol(3) = IIf(ShName = "Omega", 39, 5)
  14.     yCol(4) = IIf(ShName = "Omega", 39, 5)
  15.     yCol(5) = IIf(ShName = "Omega", 43, 9)
  16.     yCol(6) = 1

  17.     cWidth(1) = IIf(ShName = "Omega", 209, 222)
  18.     cWidth(2) = IIf(ShName = "Omega", 209, 222)
  19.     cWidth(3) = 209
  20.     cWidth(4) = 209
  21.     cWidth(5) = 405
  22.     cWidth(6) = 810

  23.     cHeight(1) = 240
  24.     cHeight(2) = 240
  25.     cHeight(3) = 240
  26.     cHeight(4) = 240
  27.     cHeight(5) = IIf(ShName = "Omega", 485, 488)
  28.     cHeight(6) = 480

  29.     xText(1) = "主力界入"
  30.     xText(2) = "力差"
  31.     xText(3) = "消化力"
  32.     xText(4) = "均差(大戶)"
  33.     xText(5) = "主力、散戶、與成交價、量"
  34.     xText(6) = "成交價與成交量"

  35.     With Sheets("統計圖表")
  36.         Set Rng = .Range("A1").CurrentRegion
  37.         Set Chart_Source(1) = Union(Rng.Columns(2), Rng.Columns(27))
  38.         Set Chart_Source(2) = Union(Rng.Columns(2), Rng.Columns(28))
  39.         Set Chart_Source(3) = Union(Rng.Columns(2), Rng.Columns(29))
  40.         Set Chart_Source(4) = Union(Rng.Columns(2), Rng.Columns(30))
  41.         Set Chart_Source(5) = Union(Rng.Columns(2), Rng.Columns(6), Rng.Columns(9), Rng.Columns(10), Rng.Columns(22))
  42.         Set Chart_Source(6) = Union(Rng.Columns(2), Rng.Columns(6), Rng.Columns(22))
  43.     End With

  44. End Sub
複製代碼

TOP

回復 38# GBKEE

工作表單一.rar (183.39 KB)

TOP

回復 40# GBKEE

TOP

回復 42# GBKEE
請教您:
Dim xRow(1 To 6), yCol(1 To 6), cWidth(1 To 6), cHeight(1 To 6), xText(1 To 6)
Dim Chart_Source(1 To 6)

這兩行是在宣告陣列 (Array) 嗎?  (1 To 6) ?  一維陣列嗎?
除了這等宣告方式外,還有何種方式表達?

TOP

本帖最後由 c_c_lai 於 2012-4-22 13:20 編輯

回復 44# GBKEE
皇天不辜有心人,終於找到為何型態不符了。
  1.             With .PlotArea                          ' 圖表的繪圖區
  2.                 .Top = 1
  3.                 .Left = 1
  4.                 .Width = cWidth
  5.                 .Height = cHeight
  6.                 .Interior.ColorIndex = xlNone
  7.             End With
複製代碼
問題出在 cWidth、以及 cHeight 兩個變數的宣告,它們起頭是宣告成 陣列型態的。
所以嘛!

  1.            With .PlotArea                          ' 圖表的繪圖區
  2.                 .Top = 16
  3.                 .Left = 1
  4.                 .Width = cWidth(xi)
  5.                 .Height = cHeight(xi)
  6.                 .Interior.ColorIndex = xlNone
  7.             End With
複製代碼
如此才對! 雖然是小地方,卻把老命快搞掉了!
如今再把他稍加修飾成我要的需求,我把正確的檔案亦一併附上,
可供有心向學的共修們一同來研習、討論。

還好骨頭沒散掉.rar (187.38 KB)



差點忘了向您說聲謝謝!
阿里牙豆!

TOP

回復 46# GBKEE
這是這個議題的最後一次提問:
Set Rng = .Range("A1").CurrentRegion
憑我個人的聰明才智,東瞄瞄西敲敲也實在看不出它的實際代表含義,
它在提示甚麼,它扮演的腳色是甚麼? 有何舉足輕重?
每次按 F1 時,其說明真有如聖經,有看沒懂。
謝謝您!

TOP

        靜思自在 : 屋寬不如心寬。
返回列表 上一主題