这么多个批注的内容,Excel照样也能批量提取出来!

自我提升也是一种修养数万Excel爱好者聚集地

2021年2月7日 周日

【Excel情报局|文案回收铺子】

遇见你该遇见的

接受你所不能改变的

生活的迷人之处

不是如愿以偿

而是阴差阳错

最近几天突然想到这样一个Excel问题:

如果Excel表格中存在大量的文本框数据,大量的意思可不是说有几个或者十几个,而是有几百个或者上千个呢,我们如何将这些文本框中的数据批量提取到Excel单元格中呢?

有的小伙伴可能说了,直接一个一个复制粘贴出来不就得了,行,那您就慢慢做吧,没十天半个月您做不完,中途还可能得焦虑症

今天小编就向大家普及这个技巧:Excel批量提取文本框里的内容,10秒搞定,同事3天的工作量,让你10秒钟搞定。助力你的日常办公。

如下面这张Excel工作表,我们将它命名为“Sheet1”。Sheet1工作表当中包含很多带文本框的内容。
现在呢我们要将Sheet1工作表中包含的所有文本框内的数据提取到Sheet2工作表中并存放到A列。
以下方法可直接适用于微软Office Excel。如果你使用的是金山WPS表格,可能不能直接使用VBA功能,所以需要下载VBA模块插件,安装方法可参考下面2篇文章。

㈠WPS官方16版本安装包及配套VBA启动插件!

㈡Excel分享|为WPS表格2019版开启VBA宏功能
操作步骤:
①鼠标右击Sheet1工作表标签名称,接着点击“查看代码”命令,会自动弹出VBA代码录入窗口。
②然后我们将下方代码模板复制粘贴到VBA代码录入窗口中。
Sub GetShapeText()
Dim i, shp
On Error Resume Next'忽略运行过程中可能出现的错误
Set mysheet1 = ThisWorkbook.Worksheets("Sheet1") '定义工作表Sheet1
Set mysheet2 = ThisWorkbook.Worksheets("Sheet2") '定义工作表Sheet2
mysheet2.Range("A1:A10000") = "" '清空单元格里边的内容
i = 0  'i初始化
For Each shp In mysheet1.Shapes'对Sheet1里面的每一个图形执行一次
If shp.TextFrame2.TextRange.Text <> "" Then'如果获取的文本不是空白,则
i = i + 1'逐行递增
mysheet2.Cells(i, 1) = shp.TextFrame2.TextRange.Text  '把图形(文本框)里面的文本写入单元格
End If
Next
End Sub
③接着我们点击窗口上方的“运行”按钮,点击“运行子过程”按钮,等待1秒钟,然后点击关闭VBA窗口,自动返回Excel主界面,我们点击切换到Sheet2工作表中,发现已经提取好的文本框内的数据已经整齐的放置到A列区域内了。
(0)

相关推荐