【VBA实战系列】001-提取所有工作表中相同位置的内容
之前我们开的技巧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
Next
End 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 If
End Sub
以上代码,重点部分已经注释!
自己套用,只需要修改一下 Target.Address(0, 0) = "B1"
这里B1,只是你实际输入单元格地址的位置
使用代码:
1、进入VBE,ALT+F11
2、双击表名,粘贴代码
3、关闭VBE即可
本期先到这里,有什么感兴趣的内容,或者实际案例,欢迎留言!可以选取作为案例讲解!
小结:按照位置提取,一般都是基础相同的模板把数据提取!如果我们的数据不是基于位置的,而为基于关键词或者名称等,我们就需要使用遍历内容或者使用函数查询,返回对应的内容!
赞 (0)