Как перенести диапазон данных с одного листа на другой - PullRequest
0 голосов
/ 07 февраля 2019

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

Sub Click()
    Dim rng As Range
    Dim dat As Variant

    With Worksheets(2) 
        Set rng = .[d31:o31] 
        dat = rng 
        rng.Clear 


        .Range(rng.Cells(1, 1), Cells(rng.Row, rng.Rows.Count)) = Application.Transpose(dat)
    End With

End Sub

1 Ответ

0 голосов
/ 07 февраля 2019

Используйте верхние границы массива для определения размера места назначения.

Явные ссылки на родительские таблицы помогут определить правильные ссылки на диапазон.

Sub Click()

    Dim dat As Variant

    With Worksheets(2) 

        with .range(.cells(31, "D"), .cells(31, "O"))
            dat = .value
            .Clear
            .Cells(1, 1).resize(ubound(dat, 2), ubound(dat, 1)) = _
                Application.Transpose(dat)
        end with

    End With

End Sub

В пределах .range(.cells(31, "D"), .cells(31, "O")),.Cells(1, 1) - это .cells(31, "D") на листе.

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