2015-11-25 2 views
0

Я начинаю новый проект и имею проблемы прямо в начале = [. Так часто мне нужно вытащить конкретные данные с очень большого листа excel и создать новый лист excel только для этих данных. На данный момент я пытаюсь создать новую книгу и сохранить ее в пути к файлу. Я получаю ошибку в строке выполнения SaveAs. Любая идея, почему это может произойти? Ошибка:Устранение неисправностей Недавно созданная рабочая тетрадь VBA

«Method 'Сохранить как' объекта '_Workbook' не удалось

Dim Path As String 
Dim dat As String 
Dim Client As String 

Path = "C:\Back\Test\" 
ThisWorkbook.Sheets("Control Panel").Activate 
dat = Range("F42") 
Client = Range("F43") 

Workbooks.Add 
ActiveWorkbook.SaveAs Filename:=Path & Date & "-" & Client & ".xls", FileFormat:=xlNormal 
newWBName = ActiveWorkbook.Name 
+0

Можете ли вы показать имя файла с помощью MsgBox? Например: MsgBox (Path & Date & "-" & Client & ".xls") – elzell

+1

У вас нет смешанной даты (из dat = Range ("F42")) и Date (from Filename: = Path & Date & ...)? – elzell

+0

Elzell да я могу (коробка сообщений). Это была опечатка с моей стороны, но она все еще не выполняется. – StormsEdge

ответ

0

Я предложу мой доступ к вашей потребности

Вот к югу, который должен.. сделайте то, что вам нужно. Поэтому сначала я рекомендую Dim все ваши переменные и не использовать активацию. Вместо этого используйте переменную листа, а также допускайте одиночные значения через ячейки не через диапазон.

Но лет Основной проблемой может быть то, что вы пытаетесь использовать зарезервированное слово Date. Дайте мне знать, если вам что-то не ясно.

Sub save() 

Dim filePath As String 
Dim dateFromSheet As String 
Dim clientName As String 
Dim controlPanelSheet As Worksheet 
Dim newWorkbookName As String 

Set controlPanelSheet = Sheets("Control Panel") 

filePath = "c:\Users\sukl\Documents\" 

With controlPanelSheet 
    dateFromSheet = .Cells(42, "F").Value 
    clientName = .Cells(43, "F").Value 

End With 

ThisWorkbook.SaveAs Filename:=filePath & dateFromSheet & "-" & clientName & ".xls", FileFormat:=xlNormal 
newWorkbookName = ThisWorkbook.Name 
End Sub 
Смежные вопросы