Я ценю есть много записей, как save individual excel sheets as csv и Export each sheet to a separate csv file - Но я хочу, чтобы сохранить одного листа в книге.VBA Сохранение один лист в формате CSV (не вся рабочая книга)
Мой код в моем файле xlsm имеет параметры и лист данных. Я создаю копию листа данных со вставленными значениями, а затем хочу сохранить ее как csv. В настоящее время вся моя книга изменяет имя и становится csv.
Как «сохранить как csv» один лист в книге Excel?
Есть ли Worksheet.SaveAs
или мне нужно переместить лист данных в другую книгу и сохранить его таким образом?
КОД ОБРАЗЦА
' [Sample so some DIMs and parameters passed in left out]
Dim s1 as Worksheet
Dim s2 as Worksheet
Set s1 = ThisWorkbook.Sheets(strSourceSheet)
' copy across
s1.Range(s1.Cells(1, 1), s1.Cells(lastrow, lastcol)).Copy
' Create new empty worksheet for holding values
Set s2 = Worksheets.Add
s2.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
' save sheet
s2.Activate
strFullname = strPath & strFilename
' >>> BIT THAT NEEDS FIXIN'
s2.SaveAs Filename:=strFullname, _
FileFormat:=xlCSV, CreateBackup:=True
' Can I do Worksheets.SaveAs?
Использование Windows 10 и Office 365
Если вы используете метод Worksheet.Copy, без установки вставки назначения, Excel откроет его в новую книгу, содержащую только этот лист. После Worksheet.Copy вы можете просто использовать ActiveWorkbook, так как книга скопированных листов становится активной книгой, а оттуда сохраняет ее как новый CSV-файл. – Alex4336
Amazing - 2500 просмотров и ни одного голоса ... – micstr