एक्स अक्ष क्रॉसओवर गतिशील रूप से सेट करने के लिए वीबीए कोड - एक्सेल, वीबीए

मुझे इस वीबीए कोड में परेशानी हो रही है:मैं एक्स-अक्ष क्रॉसओवर कॉलम ए में अंतिम सेल मान होना चाहता हूं (डेटा ए 2 पर शुरू होता है ......) ताकि हर बार स्कैटर प्लॉट डेटा फैलता है, फिर एक्स-अक्ष क्रॉसओवर के मूल्य पर रीसेट किया जाता है पंक्ति में कॉलम ए में अंतिम सेल

यहां मेरा वीबीए कोड है ({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

उत्तर:

जवाब के लिए 0 № 1

यह वही होना चाहिए जो आप खोज रहे हैं:

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

यदि आप शीट का नाम बदलते हैं तो आप इसे शीट 1 के अलावा किसी अन्य चीज़ पर चला रहे हैं, तो शीट्स ("शीट 1") को नए शीट नाम पर कहीं भी कोड को बदलना सुनिश्चित करें।


संबंधित सवाल
सबसे लोकप्रिय