如果那么,多个FOR循环VBA

时间:2018-03-15 20:15:05

标签: excel vba for-loop with-statement

简而言之,我正在尝试复制两个不同的选项,并将它们粘贴在两个不同的工作表中的两个不同位置。选择粘贴的单元格数量由其中一张纸张上的下拉量决定。一个选择有数据,另一个选择格式。第一个With语句和FOR循环工作很棒。第二张表的With / FOR没有任何反应。任何帮助是极大的赞赏。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Sheets("INPUT").Range("A2")
Dim nextrow As Long, i As Long

   If KeyCells < 8 Then
        With Sheets("SIG")
            .Range("SigLines").Copy
            For i = 1 To KeyCells - 1
                nextrow = .Cells(Rows.count, "H").End(xlUp).Row
                Sheets("SIG").Range("H" & nextrow + 2).PasteSpecial
            Next i
        End With
        With Sheets("INPUT")
            .Range("BorrowerNameList").Copy
            For i = 1 To KeyCells - 1
                nextrow = .Cells(Rows.count, "C").End(xlUp).Row
                Sheets("INPUT").Range("C" & nextrow + 2).PasteSpecial xlsFormats
            Next i
        End With
    End If

1 个答案:

答案 0 :(得分:0)

最终解决方案是为一张处理其更改的工作表创建一个Worksheet_SelectionChange,但也调用一个宏工作簿级别来处理另一张工作表上的更改。