欢迎大家来到IT世界,在知识的湖畔探索吧!
【分享成果,随喜正能量】长风破浪会有时,直挂云帆济沧海。有时候,开始并不是那么美好,但只要努力,哪怕一点一滴的付出,便终会有所收获,因为,皇天不负有心人。。
《VBA信息获取与处理》教程(10178984)是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。
教程共两册,二十个专题。今日的内容是“专题十二 VBA中剪贴板(Clipboard)的应用”:剪贴板提取工作表文本数据操作
第四节 利用剪贴板提取工作表中所有文本数据
在上面的几节中主要讲了理论上的一些必要的知识点,这讲就利用这些知识点完成一些必要的操作,讲解如何利用剪贴板提取工作表之中的文本数据,并将数据回填到另外的工作表中。
这讲的内容是上节内容的延续,在上节中我们实现了某个单元格数据的提取,这讲我们讲实现整个工作表数据的提取。
1 实现提取整个工作表文本数据的思路分析
1)首选我们要将需要提取文本数据的工作表内容拷贝到剪贴板中。
2)然后仍是利用之前的思路,建立一个自定义函数,利用这个自定义函数实现文本数据的提取。
3)提取数据后,我们实现在指定的工作表某个位置的回填。
2 实现提取整个文本数据的代码及代码解读
下面看我给出的代码:
Private Function GetClipBoardString() As String
On Error Resume Next
Dim MyData As New DataObject
GetClipBoardString = “”
MyData.GetFromClipboard
If MyData.GetFormat(1) = True Then
GetClipBoardString = MyData.GetText
Set MyData = Nothing
End If
End Function
Sub mynzD()
Sheets(“sheet3”).Select
Cells.Clear
Sheets(“sheet4”).Select
Cells.Copy
Sheets(“sheet3”).Select
UU = GetClipBoardString
If UU <> “” Then
Range(“A2”) = GetClipBoardString
Else
MsgBox “剪贴板是空”
End If
End Sub
代码截图:
代码讲解:
1)Sheets(“sheet4”).Select
Cells.Copy
以上将sheet4整个工作表的内容拷贝到剪贴板中
2)GetClipBoardString() 这个Function 和上节的一样。注意If MyData.GetFormat(1) = True 的判断是判读文本用的。
3) Sheets(“sheet3”).Select
UU = GetClipBoardString
If UU <> “” Then
Range(“A2”) = GetClipBoardString
Else
MsgBox “剪贴板是空”
End If
上述代码将文本数据回填。
3 提取整个文本数据的实现效果:
我们先看一看源数据的工作表:
点击运行:
从而实现了文本的输出.
本节知识点回向:
① 利用剪贴板实现工作表文本回填的思路是怎么样的?
② 提取文本的关键是什么?
本讲代码参考文件:012工作表.xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:
【分享成果,随喜正能量】夜卧早起三月春,缓形无努志逆生。万物皆有灵,众生皆平等,存一分善心,常常布施善行,养生护生,世间就多温暖一些。。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/37217.html