VBA-Code zum dynamischen Setzen der X-Achse - excel, vba
Ich habe Probleme mit diesem VBA-Code:Ich möchte, dass der X-Achsen-Crossover der letzte Zellenwert in Spalte A ist (Daten beginnen bei A2 ......), so dass jedes Mal, wenn sich die Streudiagrammdaten ausdehnen, der X-Achsen-Crossover auf den Wert von zurückgesetzt wird die letzte Zelle in der Spalte A. bei rhe
Hier ist mein VBA-Code (hat einen Laufzeitfehler in der Zeile {Selection.CrossesAt = SelRange}):
Sub Dyna()
Dim SelRange As Range
"This code moves down column A to the end of the list.
" Select cell A2, *first line of data*.
Range("A2").Select
" Set Do loop to stop when an empty cell is reached.
Do Until IsEmpty(ActiveCell)
" Insert your code here.
" Step down 1 row from present location.
ActiveCell.Offset(1, 0).Select
Loop
Set SelRange = Selection
" Create a chart based on the sample source of data.
Charts.Add
With ActiveChart
.ChartType = xlLineMarkersStacked
.SetSourceData Source:=Sheets("Sheet1").Range("A2:A5"), PlotBy:=xlColumns
.Location Where:=xlLocationAsObject, Name:="Sheet1"
End With
" Set the category axis to cross the value axis at value 3.
ActiveChart.Axes(xlValue).Select
Selection.CrossesAt = SelRange
End Sub
Antworten:
0 für die Antwort № 1Dies sollte das sein wonach Sie suchen:
Sub Dyna()
Dim lngLastRow As Long
"This will find the last row of data in Column A
lngLastRow = Sheets("Sheet1").Cells(2, 1).End(xlDown).Row
Charts.Add
With ActiveChart
.ChartType = xlLineMarkersStacked
"This next line selects all data in column A, from A2 to the last row of column A
.SetSourceData Source:=Sheets("Sheet1").Range(Sheets("Sheet1").Cells(2, 1), Sheets("Sheet1").Cells(lngLastRow, 1)), PlotBy:=xlColumns
.Location Where:=xlLocationAsObject, Name:="Sheet1"
End With
ActiveChart.Axes(xlValue).Select
"This next line sets the axis crossover point equal to the last data point
Selection.CrossesAt = Sheets("Sheet1").Cells(lngLastRow, 1).Value
End Sub
Wenn Sie den Namen des Blattes ändern, auf dem Sie dieses auf einem anderen als Sheet1 ausführen, stellen Sie sicher, den Code zu ändern, der Sheets ("Sheet1") zu dem neuen Blattname sagt.
Verwandte Fragen
Am beliebtesten
Php
Zxing
Am beliebtesten C
Beliebteste JAVA
Beliebteste PHP