批量提取文本框里的内容,同事3天的工作量,我10秒钟搞定。不会Excel有多可怕!

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

2020年11月30日

周一 【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列区域内了。
阅读完文章之后,希望大家在文末帮我点亮“在看”按钮,坚持的路上需要有你们的鼓励

如何在【Excel情报局】微信公众号内通过输入关键字搜索历史文章?
常识普及:
①第1步:进入【Excel情报局】微信公众号,点击底部菜单“情报.xls”
②第2步:点击“历史文章”按钮
③第3步:顶部搜索框内输入你要搜索的关键字,比如“合并”,点击确定,进行搜索。参照下面视频:
相互尊重,抱团成长。
Excel2016版安装包(含永久激活工具) 百度网盘
下载链接:
https://pan.baidu.com/s/11eE-oGEyHojXHoYSuDbBAA
(0)

相关推荐