使用VBA提取文本框的文本数据
来源:网络收集 点击: 时间:2024-05-22打开Excel表格,点击【开发工具】、【Visual Basic】打开VBA编辑器。

在VBA编辑器左侧的“工程资源管理器”窗口里边的“VBAProject”上单击右键,选择“插入”、“模块”。

在模块的代码窗口里边输入以下程序代码,然后按下【F5】键运行程序。
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

回到Sheet2工作表界面,将会看到程序的运行结果。

VBA程序代码解读:
(1)使用Sheet2工作表存放获取的文本框、图形数据时,该表格第一列最好不要有数据,以免数据丢失,或者将获取的数据存放于其他工作表上面。
(2)在不确定工作表上面有多少个文本框、图形的情况下,使用“For Each shp In mysheet1.Shapes”对工作表里面的每一个文本框、图形执行一次,然后获取里面的文本内容。
(3)如果要查看执行时的图形属性、参数等信息,可以在VBA编辑器的菜单栏上边点击【视图】、【本地窗口】,再按下【F8】键逐一运行程序,在“本地窗口”里边就可以看到相关信息。


个人经验,仅供参考。
编程语言EXCEL提取文本版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_822177.html