Как выбрать диапазон ячеек в непоследовательных столбцах до последней пустой строки? - PullRequest
0 голосов
/ 28 июня 2019

Я использую макрос для создания диаграммы из БД, и мне нужно выбрать данные в 3 непоследовательных столбцах (A, D и K) до последней непустой строки.

Private Sub TRAFFIC_BT_Click()
'
' web_traffic Macro
' Create a chart to show the evolution of web_traffic stats
'

'
    Dim szTodayDate As String
    Dim LastRow As Long
    Dim WS As Worksheet


    Set WS = Sheets("DB")

    LastRow = WS.Range("A" & Rows.Count).End(xlUp).Row 'Finds the last row with text


    szTodayDate = Format(Date, "mmm-dd-yyyy")
    Application.ScreenUpdating = False
    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
    ActiveChart.ChartTitle.Text = "Web Traffic Report " + szTodayDate
    ActiveChart.SetSourceData Source:=Range("DB!A1:A72, DB!$D1:$D72, DB!$K1:$K72")
    ActiveChart.FullSeriesCollection(1).ChartType = xlColumnClustered
    ActiveChart.FullSeriesCollection(1).AxisGroup = 1
    ActiveChart.FullSeriesCollection(2).ChartType = xlLine
    ActiveChart.FullSeriesCollection(2).AxisGroup = 1
    ActiveChart.FullSeriesCollection(2).AxisGroup = 2
    ActiveChart.SetElement (msoElementLegendBottom)
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Web Traffic report " + szTodayDate


End Sub

С этим кодом я строю график на графике от A1 до A72, от D1 до D72 ... Но я хочу изменить «72» для LastRow

1 Ответ

0 голосов
/ 28 июня 2019

Объединить переменную lastrow в диапазон вместо 72.

Private Sub TRAFFIC_BT_Click()
'
' web_traffic Macro
' Create a chart to show the evolution of web_traffic stats
'

'
    Dim szTodayDate As String
    Dim LastRow As Long
    Dim WS As Worksheet



    Set WS = Sheets("DB")

    LastRow = WS.Range("A" & Rows.Count).End(xlUp).Row 'Finds the last row with text


    szTodayDate = Format(Date, "mmm-dd-yyyy")
    Application.ScreenUpdating = False
    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
    ActiveChart.ChartTitle.Text = "Web Traffic Report " + szTodayDate

    ActiveChart.SetSourceData Source:=Range("DB!A1:A" & lastrow & ", DB!$D1:$D" &  lastrow & ", DB!$K1:$K" & lastrow & ")

    ActiveChart.FullSeriesCollection(1).ChartType = xlColumnClustered
    ActiveChart.FullSeriesCollection(1).AxisGroup = 1
    ActiveChart.FullSeriesCollection(2).ChartType = xlLine
    ActiveChart.FullSeriesCollection(2).AxisGroup = 1
    ActiveChart.FullSeriesCollection(2).AxisGroup = 2
    ActiveChart.SetElement (msoElementLegendBottom)
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Web Traffic report " + szTodayDate


End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...