首页 > 解决方案 > 复制和粘贴动态范围并防止重复操作

问题描述

下面是我现在得到的代码。我将对其进行调整以将范围复制到工作簿中的新工作表中。我想扩展宏,以便在制作新宏时删除以前的复制/粘贴。这是关键,b/c 我的用户会重复执行这个宏。

这是我第一次尝试设置此程序。宏将顺利执行。

代码:

Sub DynamicRange()
    Dim Start As Range, LastRow As Long, ws As Worksheet
    Set ws = Sheet3
    With ws
        Set Start = Range("A1")
        LastRow = ws.Cells(ws.Rows.Count, Start.Column).End(xlUp).Row
        ws.Range(Start, ws.Cells(LastRow, "C")).Select
        ws.Range(Start, ws.Cells(LastRow, "C")).Copy
        Set ws = ThisWorkbook.Sheets.Add(After:= _
        ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
        ws.Name = "sheet3"
        ws.Range("A1").PasteSpecial xlPasteAll
     End With
    ws.Activate
End Sub

标签: excelvba

解决方案


也许再添加一个范围变量来定义当前数据的范围。然后在继续其他代码之前清除该范围?


推荐阅读