2014-10-20 20 views
0

下面是我使用的代碼,它將獲取當前工作簿中的工作表名稱,但我想指定工作簿的位置和工作簿名稱。並且然後得到那個特定的工作簿想要宏獲取位於不同位置的工作簿的工作表名稱

Sub GetSheetName() 
    Const SHTNAME As String = "Index to Sheets" 
    Dim indexSheet As Worksheet 
    Dim i As Long 
    On Error Resume Next 
     Worksheets(SHTNAME).Delete 
    On Error GoTo 0 
     With Worksheets.Add(before:=Worksheets(1)) 
      .Name = SHTNAME 
      For i = 1 To Worksheets.Count 
       .Cells(i, 1).Value = Worksheets(i).Name 
      Next i 
     End With 
End Sub 

回答

0

的工作表名稱此假定「其他」工作簿是當前沒有打開:

Sub GetNames() 
    Dim s1 As String, s2 As String, s3 As String 
    Dim s4 As String, ws As Worksheet 
    s1 = "C:\TestFolder\" 
    s2 = "ABC.xlsx" 
    s3 = s1 & s2 
    Workbooks.Open s3 
    For Each ws In Sheets 
     s4 = s4 & vbCrLf & ws.Name 
    Next ws 
    ActiveWorkbook.Saved = True 
    ActiveWorkbook.Close 
    MsgBox s4 
End Sub 
+0

感謝@ Gary的學生,能否請您解釋代碼。因爲我不知道爲什麼我們需要聲明2個工作簿名稱。 s1 =「C:\ TestFolder \」 s2 =「ABC.xlsx」。另外我的要求是,當我們運行一個宏時,它應該獲得我們已經明確表示的工作簿的sheetname。注意:該文件將被放置在一些不同的位置。 – 2014-10-20 12:57:56

相關問題