13
Sub openwb()  
    ChDir "E:\sarath\PTMetrics\20131004\D8 L538-L550 16MY"
    Workbooks("D8 L538-L550_16MY_Powertrain Metrics_20131002.xlsm").Open    
End sub

Here, I am getting an error saying Subscript out of range on 3rd line. What should I do to open a workbook specifying its path?

Siddharth Rout
  • 147,039
  • 17
  • 206
  • 250
srt
  • 521
  • 3
  • 11
  • 22

2 Answers2

32

Workbooks.open("E:\sarath\PTMetrics\20131004\D8 L538-L550 16MY\D8 L538-L550_16MY_Powertrain Metrics_20131002.xlsm")

Or, in a more structured way...

Sub openwb()
    Dim sPath As String, sFile As String
    Dim wb As Workbook

    sPath = "E:\sarath\PTMetrics\20131004\D8 L538-L550 16MY\"
    sFile = sPath & "D8 L538-L550_16MY_Powertrain Metrics_20131002.xlsm"

    Set wb = Workbooks.Open(sFile)
End Sub
Siddharth Rout
  • 147,039
  • 17
  • 206
  • 250
8

You can also open a required file through a prompt, This helps when you want to select file from different path and different file.

Sub openwb()
Dim wkbk As Workbook
Dim NewFile As Variant

NewFile = Application.GetOpenFilename("microsoft excel files (*.xlsm*), *.xlsm*")

If NewFile <> False Then
Set wkbk = Workbooks.Open(NewFile)
End If
End Sub
Punith GP
  • 690
  • 4
  • 11
  • 33