2013-08-13 2 views
0

Я создал книгу, названную «AirHours» & датой из другой книги. Я хочу использовать эту книгу на протяжении всего проекта. Код ниже работает, но я все время получаю ошибку во время выполнения 9 «Подзаголовок вне диапазона».Ошибка времени выполнения 9

Я пытаюсь создать книгу для своего отчета и оставить свои данные в первоначальной форме. Новая книга будет использоваться в нескольких модулях. Ошибка времени выполнения, по-видимому, возникает в SET WSD3=Workbook.

Возможно, я ошибаюсь при создании публичной книги. Спасибо за вашу помощь.

Option Explicit 

Public WSD3 As Workbook 

Public Sub addNewWorkBook() 

Dim NewName As String 

Application.DisplayAlerts = False 

NewName = "AirHours" & Workbooks("AirTimeWorkBookBeta").Worksheets("Data").Cells(2, 1).Value 

Workbooks.Add 

ActiveWorkbook.SaveAs NewName 
Set WSD3 = Workbooks("NewName") 


End Sub 
+0

Удалите '' 'из NewName, поэтому он говорит' Set WSD3 = Workbooks (NewName) ', скажите, поможет ли это –

+0

' set WSD3 = workbooks.add' затем 'WSD3.SaveAs NewName' также, вы можете указать путь при сохранении новой книги – scott

ответ

1

Набор WSD3 к вашей новой книге, когда вы открываете его

Option Explicit 

Public WSD3 As Workbook 

Public Sub addNewWorkBook() 

Dim NewName As String 

Application.DisplayAlerts = False 

NewName = "AirHours" & Workbooks("AirTimeWorkBookBeta").Worksheets("Data").Cells(2, 1).Value 

Set WSD3 = Workbooks.Add 

WSD3.SaveAs NewName 


End Sub 
0

Наряду с предложением Скоттом, часть проблемы заключается в том, что при обращении книги с Workbooks («workbookname.ext») вам нужно укажите расширение, например .xls или .xlsm, поэтому вам нужно будет обновить то, где вы ссылаетесь Workbooks("AirTimeWorkBookBeta"), чтобы включить соответствующее расширение этой книги.

Вы также можете получить сообщение об ошибке, если эта книга не открыта в настоящий момент при запуске макроса. Кроме того, убедитесь, что рабочая книга содержит листок с именем Data

Смежные вопросы