分享

【VBA实战系列】001-提取所有工作表中相同位置的内容

 Excel办公实战 2021-06-29

之前我们开的技巧1001系列,大部分内容都归入其中,偶发现,其中有些内容对于技巧来说还是有点难度,尤其VBA部分,所以决定对内容进行细分,划分出VBA实战部分,此系列,主要是根据网友们的实际问题作为引子,来解决一些实际问题。

下面真是开启我们的,第一期:如何提取所有工作表中相同位置的内容?

这个问题对于一般函数等函数来说,稍有麻烦,不过使用VBA来处理则简单很多,属于基础入门难度,作为首期也是合适的!

先看效果图:根据收入的单元格地址(位置)提取

具体制作及代码:



'By Excel办公实战-小易'根据地址获取单元格的值'strAddr-单元格地址Sub getDataByAddress(strAddr As String) Dim sht As Worksheet Dim n As Integer: n = 3
'清空表格,写入表头-初始化结果表 With ActiveSheet .Range("2:1000").ClearContents .Range("A3:B3") = Array("表名", "结果") End With '遍历所有工作表 For Each sht In ThisWorkbook.Worksheets '不是查询表,则根据给定的地址提取 If sht.Name <> ActiveSheet.Name Then n = n + 1 Cells(n, 1) = sht.Name Cells(n, 2) = sht.Range(strAddr).Value End If NextEnd Sub
'change事件 单元格值发生变化执行指定的操作Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) = "B1" Then getDataByAddress Range(Target.Address(0, 0)).Value End IfEnd Sub

以上代码,重点部分已经注释!

自己套用,只需要修改一下 Target.Address(0, 0) = "B1"

这里B1,只是你实际输入单元格地址的位置

使用代码:

1、进入VBE,ALT+F11

2、双击表名,粘贴代码

3、关闭VBE即可

本期先到这里,有什么感兴趣的内容,或者实际案例,欢迎留言!可以选取作为案例讲解!

小结:按照位置提取,一般都是基础相同的模板把数据提取!如果我们的数据不是基于位置的,而为基于关键词或者名称等,我们就需要使用遍历内容或者使用函数查询,返回对应的内容!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多