Скопируйте ячейку (A1) листа VN в первую открытую ячейку в столбце F листа VL, затем A2 в следующую открытую ячейку в F - PullRequest
0 голосов
/ 20 января 2020

Я пытаюсь написать макрос, чтобы скопировать содержимое ячейки A1 листа wsVN в первую открытую ячейку в столбце F листа wsVL, затем скопировать A2 в следующую открытую ячейку в F, затем A3 в следующую и так до А305. Лист VL имеет строку заголовка с первой открытой ячейкой F2. Вот где я пытаюсь пройти А1. Затем у меня есть пара строк с данными, а затем еще одна открытая ячейка, где я бы хотел пройти A2 Затем 5 строк данных перед следующей открытой ячейкой, где A3 должен go. Вот так близко, как я сделал это до сих пор:

Sub Data_Transfer()
 '
 ' Data_Transfer Macro
 ' Transfers VariableNames Data to the next available row of sheet VariableList.

    Dim lastRow As Integer
    Dim wsVN As Worksheet
    Dim wsVL As Worksheet
    Dim sourceRange As Range
    Dim targetRange As Range

    Set wsVN = Worksheets("VariableNames")
    Set wsVL = Worksheets("VariationList")


    If Len(wsVL.Range("F1").Value) > 0 Then

        lastRow = wsVL.Range("F2").End(xlDown).Row
    Else

        lastRow = 2
    End If

    Set sourceRange = wsVN.Range("A1")
    Set targetRange = wsVL.Range("F" & lastRow).Offset(1, 0)

    sourceRange.Copy
    targetRange.PasteSpecial _
        Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False


    Application.CutCopyMode = False

 End Sub

Надеюсь, кто-то предложит некоторые рекомендации по этому вопросу. Это было бы очень важно! Спасибо

1 Ответ

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

Попробуйте, настроив имена листов в соответствии с требованиями.

Sub x()

Dim r As Range

With Worksheets("Sheet1") 'source sheet
    For Each r In .Range("A1", .Range("A" & Rows.Count).End(xlUp))
        Worksheets("Sheet2").Range("F:F").SpecialCells(xlCellTypeBlanks)(1).Value = r.Value 'destination sheet
    Next r
End With

End Sub

Подробнее о SpecialCells.

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