Получение значения последней ячейки с использованием местоположения ячейки на другом листе - PullRequest
0 голосов
/ 24 января 2020

У меня есть лист необработанных данных со средним значением, расположенным внизу, я хочу просмотреть каждый столбец сводного листа и поместить среднее значение, указанное в необработанном листе данных ниже. что у меня есть:

On Error Resume Next
Application.DisplayAlerts = False
Sheets.Add After:=Worksheets("Raw PivotTable")
ActiveSheet.Name = "Summary"
Application.DisplayAlerts = True
Set SSheet = Worksheets("Summary")
Set RSheet = Worksheets("Raw PivotTable")
Set PSheet = Worksheets("PivotTable")
Dim C As Integer
Dim PSheetVal As Long

C = 2

RSheet.Range("B1:" & ActiveSheet.Range(Cells(1, Columns.Count).End(xlToRight).Address).End(xlUp).Address).Copy
ActiveSheet.Paste Destination:=SSheet.Range("A1")

For Each cell In SSheet.Range("A1:" & SSheet.Range("A1").End(xlToRight).Address)

    PSheetVal = PSheet.Range(Cells(2, C)).End(xlDown).Value
    ' ^^^^ this is causing my issues specifically.

    cell.Offset(1, 0).Value = PSheetVal

    C = C + 1
    Next

Для меня это ставит 0 вместо фактических значений.

Summary Sheet

Table

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Я исправил проблему! Вместо того, чтобы пытаться найти точную ячейку, я выбрал весь столбец и выбрал последнюю ячейку. Мой код:

 For Each cell In SSheet.Range("A1:" & SSheet.Range("A1").End(xlToRight).Address)

        With Sheets(PSheet)
        PSheetVal = PSheet.Columns(C).End(xlDown).Value
        End With

        With Sheets(SSheet)
        cell.Offset(1, 0).Value = PSheetVal
        End With

        C = C + 1
        Next

Все еще не совсем уверен, как выбрать очень конкретную c ячейку, но для моих целей, которая не нужна, было бы полезно, если бы кто-то мог указать мне правильное направление на будущее !

0 голосов
/ 24 января 2020

Вместо копирования-вставки вы можете сделать следующее:

cell. ... .Offset(1, 0).Value = PSheet. ... .End(xlDown).Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...