Экспорт таблицы Excel Excel в csv с использованием макроса

Я использую таблицы Excel в Excel 2010. Я бы хотел быстро экспортировать содержимое этих таблиц в * .csv.

Мой текущий рабочий процесс: 1. Выберите таблицу вручную. 2. Скопируйте содержимое в новую книгу. 3. Сохраните книгу как файл * .csv.

Желаемый рабочий процесс: 1. Выберите таблицу вручную. 2. Запустите макрос, который записывает в предварительно заданное имя файла.

Поскольку таблицы имеют уникальные имена (например, CurrentDataTable), существует ли функция, которая принимает имя таблицы, целевой файл и желаемый формат вывода и записывает выходной файл?

Нет встроенной команды или функции Excel, которые бы делали то, что вам нужно, но вы можете использовать VBA для ее программирования.

Следующий код может быть близок к тому, что вы ищете:

Sub ExportTable() Dim wb As Workbook, wbNew As Workbook Dim ws As Worksheet, wsNew As Worksheet Dim wbNewName As String Set wb = ThisWorkbook Set ws = ActiveSheet Set wbNew = Workbooks.Add With wbNew Set wsNew = wbNew.Sheets("Sheet1") wbNewName = ws.ListObjects(1).Name ws.ListObjects(1).Range.Copy wsNew.Range("A1").PasteSpecial Paste:=xlPasteAll .SaveAs Filename:=wb.Path & "\" & wbNewName & ".csv", _ FileFormat:=xlCSVMSDOS, CreateBackup:=False End With End Sub 

Код предполагает, что у вас есть одна таблица на каждом листе. Он создает новую книгу, копирует таблицу в Лист 1 этой книги и сохраняет книгу как файл CSV с тем же именем, что и таблица.

Вот моя версия ответа chuff для Excel 2013. Он также отключает модальные диалоги:

 Sub ExportCSV() Dim wb As Workbook, wbNew As Workbook Dim ws As Worksheet, wsNew As Worksheet Set wb = ThisWorkbook Set ws = ActiveSheet Set wbNew = Workbooks.Add Application.DisplayAlerts = False With wbNew Set wsNew = wbNew.Sheets("Sheet1") ws.Rows.Copy wsNew.Paste .SaveAs Filename:=ws.name & ".csv", FileFormat:=xlCSV, CreateBackup:=True wsNew.Delete End With Windows(ws.name & ".csv").Activate ActiveWindow.Close Application.DisplayAlerts = True End Sub 

Мне нужно было сделать то же самое, но нужно было указать, какие таблицы должны были экспортироваться в виде файлов CSV. Я создал диапазон с именем «ExportTables» с VBA следующим образом:

 Public Sub Export() Dim i As Integer Dim iMax As Integer Dim sTable As String iMax = Range("ExportTables").Rows.Count For i = 1 To iMax sTable = Range("ExportTables").Cells(i, 1).Value Call ExportTable(sTable) Next i End Sub Public Sub ExportTable(tableName As String) Dim wkb As Workbook Dim wkbNew As Workbook Dim wks As Worksheet Dim wksNew As Worksheet Set wkb = ThisWorkbook Application.Goto Reference:=tableName Set wks = ActiveSheet Set wkbNew = Workbooks.Add Set wksNew = wkbNew.Sheets(1) wks.ListObjects(tableName).Range.Copy wksNew.Range("A1").PasteSpecial Paste:=xlPasteValues Application.DisplayAlerts = False wkbNew.SaveAs Filename:=wkb.Path & "\" & tableName & ".csv", _ FileFormat:=xlCSV, CreateBackup:=False wkbNew.Close SaveChanges:=False Application.DisplayAlerts = True ' Release object variables. Set wkb = Nothing Set wkbNew = Nothing Set wks = Nothing Set wksNew = Nothing End Sub 
  • IF с несколькими критериями и несколькими возможными результатами
  • Excel, как найти номер столбца min значение?
  • Как удалить строки предварительного просмотра печати в Excel 2010?
  • Почему Excel усекает мои 16-значные цифры?
  • Сделать формулу массива в excel вычислять только по активным строкам
  • Открытие книги Excel 2003 в Excel 2010 32-бит вызывает ложную циркулярную ссылку и сбои
  • Как я могу суммировать свои данные по неделям?
  • Excel 2010 -Excel не может выполнить эту задачу с доступными ресурсами
  • Excel: как удалить поисковые запросы из ячейки (ссылающийся URL)
  • Как изменить цвет ячеек на основе сегодняшней даты в Excel 2010
  • Как я могу гиперссылки из PowerPoint в Excel, ссылки на конкретную вкладку и названный диапазон или ячейку?
  • Interesting Posts

    Цветовые точки на графике по-разному в зависимости от вектора значений

    Файл с сырым исходным текстом для Android

    Размещение символа Юникода в значении содержимого CSS

    Я жертва Ретийского выкупа. Есть ли решение для дешифрования моего диска?

    Имеет ли PNG данные EXIF, такие как JPG?

    MySQLSyntaxErrorException рядом с «?» При попытке выполнить PreparedStatement

    Как пользователи / разработчики могут установить конфигурацию прокси-сервера Android для версий 2.x?

    Преобразование даты и времени в другой часовой пояс в java

    Ethernet (интранет) и Wi-Fi (Интернет) для совместной работы

    Как реализовать мою собственную схему URI на Android

    Foobar 2000 изменяет название трека

    Когда удалять CancellationTokenSource?

    rails – «ВНИМАНИЕ: Невозможно проверить подлинность CSRF-токена» для запросов json

    Сохранение и извлечение изображения (двоичного) из SQL Server с использованием Entity Framework 6

    FFMPEG: как добавить водяной знак к видео?

    Давайте будем гением компьютера.