首页 文章

复制不相邻的单元格并粘贴转置但不能复制到整行

提问于
浏览
-2

Sheet Code在代码的开头,TargetRow的值为0.执行TargetRow = wsTarget.Cells(Rows.Count,1).End(xlUp).Row 1,value为2.当脚本重新运行时,TargetRow再次从0开始 .

Sub TransferData()

Dim wsSource As Worksheet'定义源工作表Set wsSource = Worksheets(“Form”)

Dim wsTarget As Worksheet'定义目标工作表Set wsTarget = Worksheets(“DB”)

Dim TargetRow As Long'不使用Integer . Excel有比Integer更多的行可以处理 . TargetRow = wsTarget.Cells(Rows.Count,1).End(xlUp).Row 1'上次使用的第1行

'复制票据数据wsSource.Range(“TicketData”) . 复制wsTarget.Range(“F”和TargetRow).PasteSpecial粘贴:= xlValues,Transpose:= True

'复制得分wsSource.Range(“得分”) . 复制wsTarget.Range(“Q”和TargetRow).PasteSpecial粘贴:= xlValues,Transpose:= True

结束子

1 回答

  • 0

    我假设您想要粘贴到同一行 . 因此,我建议首先确定下一个空行,然后将其用于复制/粘贴操作 .

    Dim wsSource As Worksheet  'define source worksheet
    Set wsSource = Worksheets("Form")
    
    Dim wsTarget As Worksheet  'define target worksheet
    Set wsTarget = Worksheets("DB")
    
    Dim TargetRow As Long 'don't use Integer. Excel has more rows than Integer can handle.
    TargetRow = wsTarget.Cells(Rows.Count, 1).End(xlUp).Row + 1 'last used row + 1
    
    'copy ticket data
    wsSource.Range("TicketData").Copy
    wsTarget.Range("A" & TargetRow).PasteSpecial Paste:=xlValues, Transpose:=True
    
    'copy scores
    wsSource.Range("Scores").Copy
    wsTarget.Range("R" & TargetRow).PasteSpecial Paste:=xlValues, Transpose:=True
    

相关问题