首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用宏清除WorkSheet的内容,而不清除剪贴板

使用宏清除WorkSheet的内容,而不清除剪贴板
EN

Stack Overflow用户
提问于 2012-07-30 18:42:38
回答 1查看 13.9K关注 0票数 1

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

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

代码语言:javascript
复制
Sub clearly()  
    Dim ws As Worksheet  
    For Each ws In ThisWorkbook.Worksheets  
        ws.UsedRange.ClearContents  
    Next ws  
End Sub
EN

回答 1

Stack Overflow用户

发布于 2012-08-10 02:19:22

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

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

参见此(试用并测试了)

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11727620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档