[英]Excel 2003: VBA Syntax causes problems in Excel 2010 - Alternatives?
我有一個舊的VBA腳本(Office 2003)進行了修復,該腳本在Office 2010中失敗。該問題似乎是由用於引用工作表和單元格的語法引起的。
ActiveChart.SeriesCollection(1).XValues = _
"=EP!Z1S2:Z1S" & Mid(Str(Schritte + 2), 2)
With ActiveChart.SeriesCollection(1)
.Values = "=EP!Z3S2:Z3S" & Mid(Str(Schritte + 2), 2)
.Name = "=EP!Z3S1"
End With
有沒有使用“ = Sheet!CellRange”的替代方法? 還是可以通過更改Office / Excel中的某些配置來解決問題?
您需要將單元格范圍提供為編碼的Range對象和/或Range.Cells屬性 ,並可能提供Range.Resize屬性 。
dim ws as worksheet
set ws = worksheets("EP")
ActiveChart.SeriesCollection(1).XValues = _
ws.range("Z1S2:Z1S" & Mid(Str(Schritte + 2), 2))
With ActiveChart.SeriesCollection(1)
.Values = ws.cells(3, 2).resize(1, int(Mid(Str(Schritte + 2), 2))) '=EP!Z3S2:Z3S" & Mid(Str(Schritte + 2), 2)
.Name = ws.cells(3, 1) '=EP!Z3S1
End With
當我使用嚴格描述范圍的字符串創建圖表時,收到編譯錯誤:類型不匹配 。 一旦將字符串包裝在Range
或使用.Cells
更直接地引用它們,問題就消失了,並生成了圖表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.