【问题标题】:Clear contents of a WorkSheet using macro, without clearing the clipboard使用宏清除工作表的内容,而不清除剪贴板
【发布时间】:2012-07-30 18:42:38
【问题描述】:

如何使用宏清除 Excel 工作表的内容,而不清除剪贴板的内容?

我目前正在使用以下代码(通过单击工作表上的按钮调用),但这会清除剪贴板中的数据,这些数据是我从其他来源复制的,并希望粘贴到清除的工作表中

Sub clearly()  
    Dim ws As Worksheet  
    For Each ws In ThisWorkbook.Worksheets  
        ws.UsedRange.ClearContents  
    Next ws  
End Sub

【问题讨论】:

    标签: excel clipboard vba


    【解决方案1】:

    我从其他来源复制的,想粘贴到已清除的工作表中

    为什么不创建一个临时表并将数据粘贴到那里,然后清除所有表。完成后将临时表中的数据复制到相关表并删除临时表?

    看到这个(尝试和测试

    Sub clearly()
        Dim ws As Worksheet, wsTemp As Worksheet
    
        '~~> Create a Temp Sheet
        Set wsTemp = Sheets.Add
    
        '~~> Copy clipboad data to temp sheet
        wsTemp.Range("A1").PasteSpecial xlPasteAll
    
        '~~> Clear contents of all sheets except temp sheet
        For Each ws In ThisWorkbook.Worksheets
            If ws.Name <> wsTemp.Name Then ws.Cells.ClearContents
        Next ws
    
        '~~> Copy data from temp sheet to relevant sheet
        wsTemp.Cells.Copy Sheets("Sheet1").Cells
    
        '~~> Delete temp sheet
        Application.DisplayAlerts = False
        wsTemp.Delete
        Application.DisplayAlerts = True
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 2018-10-09
      • 1970-01-01
      • 2012-05-10
      相关资源
      最近更新 更多