|
本帖最后由 mashibao 于 2023-3-16 13:14 编辑
试试下面方法,这个问题可能是打开工作簿时,工作簿的默认工作表名称与代码中的工作表名称不匹配,可以通过以下两种方式来解决此问题:
显式指定工作表名称
可以修改代码,明确指定要打开的工作表名称:
Sub Workbook_Open()
Workbooks.Open Filename:="xxx\业务处理中心共享\排班表\业务处理团队排班表", ReadOnly:=True
Workbooks("业务处理团队排班表.xlsx").Worksheets("值班").Activate
Range("A1").Select
Selection.Copy
Range("A9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False
End Sub
修改工作簿的默认工作表名称
打开工作簿时,默认工作表名称是“Sheet1”,如果想要代码能够正常执行,可以将默认工作表名称改为“值班”。
在工作簿中右键单击“Sheet1”,选择“重命名”,将名称更改为“值班”,然后保存并关闭工作簿。
这样修改后,可以保留原代码不变,因为默认工作表名称与代码中的名称一致。
关于将文本放置到剪贴板的问题,可以在所需的单元格上单击一次,然后按“Ctrl + C”组合键将文本复制到剪贴板。不会是图片的形式,因为复制的是文本。然后可以将文本粘贴到QQ中。
如果希望自动将文本复制到剪贴板并将其粘贴到QQ中,则需要编写VBA代码。以下是一个简单的示例:
Sub CopyToClipboard()
Range("A1").Copy
Dim MSForms_DataObject As Object
Set MSForms_DataObject = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
MSForms_DataObject.SetText Range("A1").Text
MSForms_DataObject.PutInClipboard
SendKeys "^v"
End Sub
这将对A1单元格中的文本进行复制,并将其放置在剪贴板中。然后使用SendKeys命令将Ctrl+V键发送到QQ中,以将文本粘贴到QQ中。 |
评分
-
1
查看全部评分
-
|