VBS für excel: Mit einem Skript Variablen im Bereich Selektion
Ich habe gesehen, ähnliche Fragen wurden mithilfe von VBA in excel, aber ich bin mit VBScript so ist es ein bisschen anders. Die Antworten auf die anderen Fragen gab mir einige Hinweise, aber ich weiß einfach nicht, wie man dieses Problem beheben.
Ich mit .SetSourceData zu definieren, einen Bereich zu verwenden, in einem Diagramm. Es funktioniert gut, um den Bereich zu definieren, von der ersten bis zur letzten Zeile (die ganze Platte), aber ich wollen, definieren Sie einen dynamischen Bereich über eine variable definiert haben. Also das funktioniert:
.SetSourceData objWorksheet.Range("E1","F" & LastRow), xlColumns
wo LastRow ist definiert als LastRow=objWorksheet.UsedRange.Rows.Count
. Nun, was ich tun möchten, verwenden Sie eine Palette, die ab der letzten Zeile wieder ein paar Zeilen. Also mein Gedanke war, dies zu tun:
.SetSourceData objWorksheet.Range(Rowstring,"F" & LastRow), xlColumns
wo RowString ist definiert als
WeekNumber = LastRow - 1000
RowString = "E" & WeekNumber
Aber es gibt mir eine Fehlermeldung. Wie kann ich eine string-variable, in einer Reihe, und legen Sie es als Quelldaten für Diagramm-generation? Hier ist der code, den ich verwende
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
Danke im Voraus
WeekNumber = LastRow - 1000
, könnte dies führt zu einem negativenWeekNumber
Wert?- Die Linie gibt dir der Fehler??? Und welchen Fehler genau bekommst du?
- Ich überprüfte die Nummer, ich bekomme eine string-variable mit dem Wert von "E4414", die ich jetzt versucht bin zu Eingang statt "E1" oder was auch immer expliziter Ausdruck für die Reichweite.
- Ich bekomme ein "Unkonwn runtime error" auf .SetSourceData line, code 800A03EC, Microsoft VBScript runtime Fehler'
Du musst angemeldet sein, um einen Kommentar abzugeben.
wo
gibt
und ich denke, Sie sind wahrscheinlich nach
so müssen Sie ersetzen die
,
Komma mit einer:
SemikolonWiederaufbau Ihrer
RowString
variable wie dieseund die gesamte Aussage