簡體   English   中英

Excel 2003:VBA語法在Excel 2010中引起問題-替代方法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM