Я пишу код VBA для нахождения last_row следующего листа на листе диаграммы, в диаграмме я использую функции Chart_MouseUp и Chart_MouseDown, здесь я объясняю Chart_MouseUp внутри события Chart_MouseDown, которое я принимаю, я беру начальную точку x и y с координатами диаграммы и и и в событии Chart_MouseUp я беру координаты x и y конечной точки диаграммы, и после этого процесса я сохраняю координаты начальной и конечной точек x внутри столбца "AQ" следующего листа, для этого мне нужно знать номер ячейки, который в столбце AQ отсутствует, для этого я должен знать last_Row ячейки AQ, и для этого я использую этот код
Dim last_Row As Integer
last_Row = Sheets(5).Range("B" & Rows.count).End(xlUp).Row
MsgBox last_Row
Ошибка во время выполнения «1004» Метод «Строки» Object_Global не удалось
Всякий раз, когда код, как
'Sheets(5).Range("AQ4") = startX
'Sheets(5).Range("AQ5") = endX
работает на том же листе вот код события Chart_MouseUp Пожалуйста, если у вас есть идея для решения этой проблемы, направьте меня
Private Sub Chart_MouseUp(ByVal Button As Long, ByVal Shift As Long, _
ByVal x As Long, ByVal y As Long)
Dim ElementID As Long, Arg1 As Long, Arg2 As Long
Dim myX As Variant, myY As Double
With ActiveChart
' Pass x & y, return ElementID and Args
.GetChartElement x, y, ElementID, Arg1, Arg2
' Did we click over a point or data label?
If ElementID = xlSeries Or ElementID = xlDataLabel Then
If Arg2 > 0 Then
' Extract x value from array of x values
myX = WorksheetFunction.Index _
(.SeriesCollection(Arg1).XValues, Arg2)
' Extract y value from array of y values
myY = WorksheetFunction.Index _
(.SeriesCollection(Arg1).Values, Arg2)
endX = CDate(myX)
endY = myY
' Display message box with point information
MsgBox "X = " & startX & vbCrLf _
& "Y = " & startY & vbCrLf _
& "X = " & endX & vbCrLf _
& "Y = " & endY
'Sheets(5).Range("AQ4") = startX
'Sheets(5).Range("AQ5") = endX
Dim last_Row As Integer
'Dim sh As Worksheet
last_Row = Sheets(5).Range("B" & Rows.count).End(xlUp).Row
MsgBox last_Row
End If
End If
End With
End Sub