gpt4 book ai didi

excel - Range.ClearContents 清除系统剪贴板 - 解决方法? (VBA/Excel)

转载 作者:行者123 更新时间:2023-12-03 02:57:01 32 4
gpt4 key购买 nike

问题

我经常处理的数据 View 表想要重置 View 部分的内容(为空白)。从历史上看,我们曾遇到过用户说此工作表清除了他们的系统剪贴板的问题。

使用 Range.ClearContents 清除这些值似乎存在问题。

# Grab some data from cells onto the clipboard

Sub ClearTheClipboardWhenTheUserIsntExpectingIt()
Cells(1, 1).EntireRow.ClearContents ' Or something like that
End Sub

这应该足以复制问题。

解决方法

我的问题是关于可能的解决方法,即:

Dim r as Range
...
r.Value2 = Empty

问题

  • 是否有一些明显的原因导致这不是合理的解决方法?
  • 是否有一些更规范的方法可以在不清除剪贴板的情况下清除一组单元格的内容?
  • 我只是使用了 ClearContents 吗?

如果以后发现我必须返回并修复它,因为我引入了一些错误,我讨厌浏览大型代码库并搜索/替换此行为。

编辑:我应该提到我正在使用 Excel 2007

最佳答案

更新:我刚刚尝试了以下代码,发现 here ,在普通 Excel 电子表格中成功:

Sub Button1_Click()

Dim clipboardText As String
clipboardText = GetTextFromClipboard()

Cells(1, 1).EntireRow.ClearContents

CopyTextToClipboard (clipboardText)

End Sub

Sub CopyTextToClipboard(ByVal inText As String)

Dim objClipboard As Object
Set objClipboard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
objClipboard.SetText inText
objClipboard.PutInClipboard
Set objClipboard = Nothing

End Sub


Function GetTextFromClipboard() As String

Dim objClipboard As Object
Set objClipboard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
objClipboard.GetFromClipboard
GetTextFromClipboard = objClipboard.GetText
Set objClipboard = Nothing

End Function

关于excel - Range.ClearContents 清除系统剪贴板 - 解决方法? (VBA/Excel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13988783/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com