繁体   English   中英

VBS for Excel:在范围选择中使用脚本变量

[英]VBS for excel: Using a script variable in Range selection

我已经看到过类似的问题,要求在excel中使用VBA,但我使用的是VBScript,所以有所不同。 其他问题的答案给了我一些线索,但我只是不知道该如何解决。

我正在使用.SetSourceData定义要在图形中使用的范围。 它可以很好地定义从第一行到最后一行(整个工作表)的范围,但是我想使用前面定义的变量来定义动态范围。 所以这工作:

.SetSourceData objWorksheet.Range("E1","F" & LastRow), xlColumns

其中LastRow定义为LastRow=objWorksheet.UsedRange.Rows.Count 现在我要做的是使用从最后一行开始的范围,然后再返回几行。 所以我的想法是这样做:

.SetSourceData objWorksheet.Range(Rowstring,"F" & LastRow), xlColumns

RowString被定义为

WeekNumber = LastRow - 1000
RowString = "E" & WeekNumber

但这给了我一个错误。 如何使用某个范围内的字符串变量,并将其设置为图表生成的源数据? 这是我正在使用的代码

    WeekNumber = LastRow - 1000
    RowString = "E" & WeekNumber
    WScript.echo(RowString)


' Data for last week

Sub LastWeek()
    WeekNumber = LastRow - 1000
    RowNumber = LastRow - WeekNumber
    RowString = "E" & RowNumber
End Sub

myrange = "E1:E52"

Set Range1 = objWorksheet.Range(myrange)

' Define chart properties 

Set objChart = objExcel.Charts.Add()
    With objChart
        'define chart type
        .ChartType = xlXYScatterLinesNoMarkers
        'format chart
        .SeriesCollection(1).Border.Color = RGB(255, 0, 0)
        REM .ChartArea.Color = RGB(255, 255, 255)
        .PlotArea.Interior.Color = RGB(255, 255, 255)
        .HasTitle = True 
        .ChartTitle.Text = "usage"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "test"
        .HasLegend = False
        'define data
        .SetSourceData objWorksheet.Range(RowString,"F" & LastRow), xlColumns
        .Export "Test.png", "PNG"
    End With

先感谢您

.SetSourceData objWorksheet.Range(Rowstring,"F" & LastRow), xlColumns

哪里

WeekNumber = LastRow - 1000
RowString = "E" & WeekNumber

...Range("E4414","F" & LastRow)...

而且我认为您最有可能

...Range("E4414:F" & LastRow)...

所以你需要更换,逗号分隔 : 分号

像这样重建您的RowString变量

RowString = "E" & weekNumber & ":"

和整个陈述

.SetSourceData objWorksheet.Range(Rowstring & "F" & LastRow), xlColumns

' PlotBy:=xlColumns for VBA

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM