VBA,工作表名称和标题

时间:2015-07-31 14:54:09

标签: excel vba excel-vba

首先我尝试了搜索,无法弄明白,我有两个宏,我需要清理它。

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

需要帮助将它们结合起来并让它们一起工作而不会出现错误。

2 个答案:

答案 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