Excel单元格值作为.SetSourceData范围

时间:2017-11-02 15:35:04

标签: excel vba excel-vba

我在使用单元格值作为.SetSourceData方法范围的输入时出现问题。我的单元格值是:

K6 = $C$95
K7 = $C$137
K8 = $F$95
K9 = $F$137

所以,我想创建一个新的折线图,使用K6和K7中的条目($ C $ 95:$ C $ 137)作为X值,以及K8和K9中的条目($ F $ 95:$ F $ 137)作为Y值。

如果我对.SetSourceData范围内的条目进行硬编码,就可以了:

.SetSourceData Source:=Sheets("Sheet1").Range("Sheet1!$C$95:$C$137, Sheet1!$F$95:$F137")

但我尝试了几种不同的方法来尝试使用K细胞的值作为范围。关于如何做到这一点的任何想法?

提前致谢。

PS 我无法解决这个问题:

Sub CreateChart()

Dim X1 As String
Dim X2 As String
Dim Y1 As String
Dim Y2 As String

X1 = "$C$95"
X2 = "$C$137"
Y1 = Range("K6").Value  'where the value in this cell is $F$95
Y2 = Range("K7").Value  'Where the value in this cell is $F$137



With Sheets("Sheet1")
    .Shapes.AddChart.Select
    ActiveChart.SetSourceData Source:=.Range("Sheet1!" & .Range(X1).Value & ":" & .Range(X2).Value & ",Sheet1!" & .Range(Y1).Value & ":" & .Range(Y2).Value)
End With

ActiveChart.ChartType = xlLine



End Sub

-

-

1 个答案:

答案 0 :(得分:0)

这应该让你开始

With Sheets("Sheet1")
    .Shapes.AddChart.Select
    ActiveChart.SetSourceData Source:=.Range("Sheet1!" & .Range("K6").Value & ":" & .Range("K7").Value & _
                                      ",Sheet1!" & .Range("K8").Value & ":" & .Range("K9").Value)
End With
ActiveChart.ChartType = xlLine

第二个答案

ActiveChart.SetSourceData Source:=.Range("Sheet1!" & X1 & ":" & X2 & ",Sheet1!" & Y1 & ":" & Y2)