Как Скопировать Диаграмму из Excel в Word • Преобразование списка
Как вставить таблицу Excel в Word с помощью VBA
VBA — это очень мощный инструмент, который можно использовать для автоматизации большой работы между несколькими приложениями Microsoft Office. Одним из распространенных действий, которые вы можете автоматизировать с помощью VBA, является вставка таблицы Excel в документ Word.
Visual Basic для приложений (VBA) — очень мощный инструмент, который можно использовать для автоматизации большой работы между несколькими приложениями Microsoft Office. Одним из распространенных действий, которые вы можете автоматизировать с помощью VBA, является вставка таблицы Excel в документ Word.
Есть два способа сделать это. Первый — это автоматическое копирование и вставка существующего диапазона из Excel в новую таблицу в документе Word. Второй — выполнение расчетов в Excel, создание новой таблицы в Word и запись результатов в таблицу.
Вы можете попытаться записать макрос, чтобы сделать это, но макросы позволят вам только автоматизировать задачи внутри Word. В этой статье вы узнаете, как писать код VBA для автоматизации этих действий между Excel и Word.
Скопируйте и вставьте диапазон Excel в Word с VBA
В обоих примерах мы начнем с образца электронной таблицы Excel. Этот образец представляет собой список заказов на покупку различных продуктов.
Допустим, вы хотите скопировать и вставить весь диапазон ячеек на этом листе в документ Word. Для этого вам нужно написать функцию VBA, которая будет запускаться при нажатии кнопки «Копировать в слово».
Выбрать разработчик из меню и выберите Вставить из группы управления на ленте. В раскрывающемся списке выберите элемент управления «Кнопка» в разделе «Элементы управления ActiveX».
Затем нарисуйте командную кнопку на правой стороне листа. Вы можете изменить заголовок на «Копировать в Word», щелкнув правой кнопкой мыши по кнопке и выбрав свойства, Измените текст заголовка, и вы можете использовать шрифт для обновления размера и стиля шрифта.
Запись: Если вы не видите разработчик в меню Excel, затем добавьте его. Выбрать файл, Опции, Настроить лентуи выберите Все команды из выпадающего списка слева. Тогда двигайся разработчик от левой панели вправо и выберите OK, чтобы закончить.
Напишите копию и вставьте код VBA
Теперь вы готовы начать писать код VBA. Чтобы начать, дважды щелкните новый Копировать в Word кнопка, чтобы открыть окно редактора кода.
Вы должны увидеть подпрограмму с именем Commandbutton1_Click (), как показано ниже.
Вы хотите скопировать каждый раздел кода ниже. Прежде чем приступить к написанию кода, для управления Word на вашем компьютере с помощью VBA необходимо включить справочную библиотеку Microsoft Word.
В редакторе кода выберите инструменты из меню и выберите Ссылки, В списке доступных ссылок прокрутите вниз и включите Библиотека объектов Microsoft Word 16.0,
Выберите OK, и вы готовы начать кодирование. Мы рассмотрим каждый раздел кода за раз, чтобы вы поняли, что делает этот код и почему.
Во-первых, вам нужно создать переменные и объекты, которые будут содержать диапазон и позволять вам управлять приложением Word.
Следующая строка кода выбирает определенный диапазон ячеек и сохраняет его в объекте диапазона Excel в VBA.
Теперь, когда приложение Word запущено, вы хотите сделать его видимым для пользователя и активировать его для использования.
Далее вы хотите создать новый документ в приложении Word.
Наконец, вы скопируете и вставите диапазон ячеек в новую таблицу в документе Word.
tblRange.Copy
WordDoc.Paragraphs(1).Range.PasteExcelTable _
LinkedToExcel:=False, _
WordFormatting:=False, _
RTF:=False
Переключатели в вышеупомянутой функции вставят несвязанную таблицу, используя исходное форматирование Excel (не форматирование Word) и не используя расширенный текстовый формат.
Наконец, для работы с диапазонами Excel, которые шире, чем документ, вам нужно автоматически установить новую таблицу, чтобы она соответствовала полям вашего нового документа Word.
И теперь вы сделали! Сохраните файл как файл Excel с поддержкой макросов (расширение .xlsm). Закройте редактор, снова сохраните исходный файл Excel, а затем нажмите командную кнопку, чтобы увидеть код в действии!
Записать результаты Excel в таблицу Word с помощью VBA
В следующем разделе вы напишете код VBA, который выполняет вычисления значений в Excel и записывает их в таблицу в Word.
Для этого примера мы возьмем данные на 10 строк, вычислим и запишем результаты в таблицу в документе Word. Кроме того, исходная таблица будет содержать четыре столбца, а код VBA извлечет первые десять строк данных из этого диапазона.
Как и в последнем разделе, мы рассмотрим каждый раздел за раз, чтобы вы понимали, что делает этот код и почему.
Сначала создайте переменные и объекты, которые будут содержать данные и позволят вам писать в приложение Word.
Затем установите общее количество столбцов и строк, которые вы хотите прочитать из диапазона Excel.
Повторите тот же код, что и в последнем разделе, который откроет Word, если он еще не открыт.
Следующие четыре строки создают таблицу внутри вновь открытого документа Word.
- Для каждой строки поместите дату заказа, позицию, единицы и стоимость в переменные
- Рассчитайте стоимость за единицу времени (общую продажу) и сохраните ее в переменной
- Для каждого столбца запишите значения в таблицу Word, включая рассчитанный общий объем продаж в последней ячейке.
- Перейдите к следующему ряду и повторите процедуру выше
Функция «Ячейки» в первой части извлекает значения ячеек из Excel. Ячейки (x, y) означают, что он извлекает значение ячейки в строке x и столбце y.
Функция «Ячейка» в последней части записывает данные в ячейки таблицы Word, используя те же назначения строк и столбцов.
После сохранения и запуска этого кода VBA вы увидите результаты в только что созданном документе Word.
Как видите, не так сложно создать полезную автоматизацию между Excel и Word. Это просто вопрос понимания того, как работают различные «объекты», которые могут создавать и контролировать приложения Excel и Word на вашем компьютере.
Как перенести информацию из excel в word
- Для каждой строки поместите дату заказа, позицию, единицы и стоимость в переменные
- Рассчитайте стоимость за единицу времени (общую продажу) и сохраните ее в переменной
- Для каждого столбца запишите значения в таблицу Word, включая рассчитанный общий объем продаж в последней ячейке.
- Перейдите к следующему ряду и повторите процедуру выше
Затем нарисуйте командную кнопку на правой стороне листа. Вы можете изменить заголовок на «Копировать в Word», щелкнув правой кнопкой мыши по кнопке и выбрав свойства, Измените текст заголовка, и вы можете использовать шрифт для обновления размера и стиля шрифта.
Публикуя свою персональную информацию в открытом доступе на нашем сайте вы, даете согласие на обработку персональных данных и самостоятельно несете ответственность за содержание высказываний, мнений и предоставляемых данных. Мы никак не используем, не продаем и не передаем ваши данные третьим лицам.