在excel表中有多个sheets,先提取每个sheet的名称,按照sheet名称索引每个表格中出C4,H4,K4的数据,用vba完成
时间: 2024-03-14 08:43:29 浏览: 82
好的,这是一个比较常见的Excel VBA操作,我可以为您提供如下代码:
```
Sub ExtractDataFromSheets()
Dim wb As Workbook
Dim ws As Worksheet
Dim sheetNames() As String
Dim data() As Variant
Dim i As Integer, j As Integer, k As Integer
'打开当前活动工作簿
Set wb = ActiveWorkbook
'获取所有工作表的名称
ReDim sheetNames(wb.Sheets.Count)
For i = 1 To wb.Sheets.Count
sheetNames(i) = wb.Sheets(i).Name
Next i
'遍历所有工作表
For i = 1 To UBound(sheetNames)
Set ws = wb.Sheets(sheetNames(i))
'提取C4,H4,K4的数据
ReDim data(1 To 3)
data(1) = ws.Range("C4").Value
data(2) = ws.Range("H4").Value
data(3) = ws.Range("K4").Value
'将数据输出到输出区域
For j = 1 To 3
'输出sheet名称
Range("A" & k + j).Value = sheetNames(i)
'输出数据
Range("B" & k + j).Value = data(j)
Next j
'更新输出区域的行数
k = k + 3
Next i
End Sub
```
这个代码会遍历当前活动工作簿中的所有工作表,提取每个工作表中C4、H4和K4单元格的数据,并将这些数据输出到输出区域。输出区域的第一列是工作表的名称,第二列是数据。
注意:这个代码假设输出区域从第一行第一列开始,如果您的输出区域不同,请相应地调整代码中输出区域的起始位置。
阅读全文