VBA — код для сохранения файла Excel в версии XLS с тем же именем, что и у исходного файла

#excel #vba

#excel #vba

Вопрос:

Итак, в основном заголовок. У меня есть макрос, который должен удалять столбцы и форматировать файл CSV, а затем сохранять его как XLSX. Моя проблема в том, что я не могу найти код для макроса, поэтому сохраните такой файл с тем же именем, что и оригинал.

Мне нужно, чтобы оба файла Excel были сохранены в формате CSV и XLSX. Вот мой код:

 ChDir "C:UsersRenJeo3Desktop"
    ActiveWorkbook.SaveAs Filename:="C:UsersRenJeo3Desktop" amp; "(thisworkbook.fullName)" amp; ".xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
End Sub
  

Комментарии:

1. У вас неправильный синтаксис для имени файла:= part . Вы хотите сохранить версию .xlsx в той же папке, что и файл .csv?

2. Привет! Правильно. Я изучаю, как записывать и очищать макросы, поэтому, возможно, я что-то удалил по ошибке.

Ответ №1:

Замените «csv» на «xlsx»

 Dim s As String, NewFileNm As String
s = ThisWorkbook.Name
NewFileNm = Replace(s, "csv", "xlsx")
MsgBox NewFileNm
  

Вы также должны иметь возможность удалить эту часть кода, поскольку файл теперь имеет .xlsx

удалить amp; ".xlsx"

Комментарии:

1. Из информации OP неясно, хотят ли они сохранить файл .xlsx в той же папке, что и файл .csv.

2. Ах да, полное имя также будет включать каталог, имени будет достаточно. Я хотел сказать, что csv необходимо заменить.

3. Спасибо обоим, это действительно помогло!