【发布时间】:2023-03-03 15:42:01
【问题描述】:
我正在尝试交叉检查列是否按要求的顺序可用。
在剪贴板中,变量与“用户名”完全相同。
但是msgbox没有弹出消息。
Sub macro1()
Dim Mystring As String
Dim DataObj As New MSForms.DataObject
Range("A1").Select
Selection.Copy
DataObj.GetFromClipboard
Mystring = DataObj.GetText
If Mystring = "User Name" Then
MsgBox "Correct column"
End If
End Sub
我的要求是:
检查 Excel 文件报告并按特定顺序排列数据。
例如:
如果列按 A、B、C、D、E、F、G 顺序排列,我想将顺序更改为 C、A、B、G、E、F、D 以及以下数据。
【问题讨论】:
-
我想知道您为什么尝试使用
DataObject来完成如此简单的任务吗?你想玩这个对象吗?否则,使用剪贴板只会消耗 Excel 资源并使代码变慢,而不会带来任何好处。
标签: excel vba if-statement