Есть диапазоны приращения ячеек в разных количествах VBA - PullRequest
0 голосов
/ 10 января 2012

Какими способами я могу сделать эту работу, я пытался понять это часами.

Я пытался использовать смещение в цикле, но у меня не работает например я использовал x = x.Offset (10,0) и i = i.Offset (5,0) и т. д.

  Sub Macro5()

    Dim i As Range, j As Range, k As Range
    Dim x As Range, y As Range
    Dim Num As Integer

    Num = 94

    Set x = Sheets("Sum Data").Range("B1:G10")
    Set j = Sheets("PNA Physical Needs Summary Data").Range("C4:L9")
    Set i = Sheets("PNA Physical Needs Summary Data").Range("B4:B9")
    Set k = Sheets("Sum Data").Range("A1")
    Set p = Sheets("PNA Physical Needs Summary Data").Range("P3:P8")
    Set e = Sheets("PNA Physical Needs Summary Data").Range("A4:A9")

    Do
        x.Copy
        j.Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True

        p.Copy i

        k.Copy e

        Num = Num - 1

     Loop Until Num = 0
End Sub

1 Ответ

0 голосов
/ 10 января 2012

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

Вы пропустили Set из операторов для обновления x и i? Кажется, что следующее работает, как вы ожидаете

Set x = x.Offset(10,0)
Set i = i.Offset(5,0)

Если пропущение Set не является вашей проблемой, пожалуйста, расширьте свой вопрос, включив в него полный код и характер сбоя, с которым вы столкнулись.

...