首先我尝试了搜索,无法弄明白,我有两个宏,我需要清理它。
1)我需要获取工作表名称,但不是我正在处理工作的活动工作表。在工作表名称下的列中,但请记住,我需要为多个文件执行此操作。
我的最终目标是最终为文件目录执行此操作。主工作簿。从文件目录中提取我想要的值,并将其放入我的主表中以用于数据透视表:
Sub GetName()
Range("A1").Value = "File Name "
Range("B1").Value = "Sheet Name "
Range("C1").Value = "Column Name"
Range("A2").Value = ActiveWorkbook.Name
End Sub
也有这个:
Sub SheetNames()
Columns(1).Insert
For i = 1 To Sheets.Count
Cells(i, 3) = Sheets(i).Name
Next i
End Sub
需要帮助将它们结合起来并让它们一起工作而不会出现错误。
答案 0 :(得分:3)
需要更清楚,因为每个人都说过,但在这里你去获取工作表名称减去活动工作表
Sub GetNames()
Dim ws As Worksheet
Dim iRow As Integer
Dim iCol As Integer
iRow = 2
iCol = 2
Range("A1").Value = "File Name "
Range("B1").Value = "Sheet Name "
Range("C1").Value = "Column Name"
Range("A2").Value = ActiveWorkbook.Name
For Each ws In ActiveWorkbook.Sheets
If ws.Name <> ActiveSheet.Name Then
ActiveSheet.Cells(iRow, iCol).Value = ws.Name
ActiveSheet.Cells(iRow, iCol+1).Value = <someCalculatedValue>
iRow = iRow + 1
End If
Next
End Sub
答案 1 :(得分:2)
我不太确定你在寻找什么,但这样的事情是个好的开始。
Sub GetNames()
'Headers
Range("A1").Value = "File Name "
Range("B1").Value = "Sheet Name "
Range("C1").Value = "Column Name"
For i = 1 To Sheets.Count
Cells(i + 1, 2) = Sheets(i).Name
Cells(i + 1, 1) = ActiveWorkbook.Name
Next i
End Sub