Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2010, 16:11   #1
Jevgeni85
Новичок
Джуниор
 
Регистрация: 25.08.2010
Сообщений: 2
По умолчанию Макрос для переноса данных в виде таблицы из Excel в Word

Добрый день, помогите пожалуйста довести до ума макрос , который бы экспортировал определенные данные из таблицы в виде таблицы
Excel в Word. Критерием для выбора определенной строки из всего объема таблицы служит отмеченный напротив нужной строки флажок.
Как это приблизительно должно выглядеть показано в приложенной таблице.
Вот что удалось получить:


Sub button_click()

End Sub
Sub Makros1()

Dim AppWord As Word.Application

Set AppWord = CreateObject("Word.Application")
AppWord.Visible = True

AppWord.Documents.Add

Range("A5:R5").Copy
AppWord.Selection.Paste

For i = 6 To 10

If Cells(i, 16) = True Then


Cells(i, 1).Copy
AppWord.Selection.Paste


End If

Next

Application.CutCopyMode = False
Set AppWord = Nothing

End Sub

Единственное что, сейчас копируются выделенные ячейки только первого столбца, подскажите пожалуйста как можно расширить этот диапазон и как сделать так, чтобы заголовки таблицы и данные из таблицы брались не из всего диапазона таблицы, а выборочно (например ячейкa 3 столбца 1, столбца 3 и столбца 5) и т.д и выводились в Word.
Буду очень признателен за любую помощь.
Вложения
Тип файла: rar table.rar (10.2 Кб, 39 просмотров)
Jevgeni85 вне форума Ответить с цитированием
Старый 25.08.2010, 16:26   #2
alebed
Пользователь
 
Аватар для alebed
 
Регистрация: 26.05.2010
Сообщений: 77
По умолчанию

Для выборочного выделения используйте
Set a = Range("C1:C10")
Set b = Range("E1:E10")
Set c = Range("G1:G10")
Union(a, b, c).Select
Selection.Copy
ну а дале
AppWord.Selection.Paste
Спасибо и Пасибы принимаются на WebMoney в американских Z143254902288 или русских R388611339241 монетах
alebed вне форума Ответить с цитированием
Старый 25.08.2010, 16:52   #3
Jevgeni85
Новичок
Джуниор
 
Регистрация: 25.08.2010
Сообщений: 2
По умолчанию

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

Нашел ошибку в коде, правильно тогда будет:

For i = 6 To 10

If Cells(i, 20) = True Then


Cells(i, 1).Copy
AppWord.Selection.Paste

Последний раз редактировалось Jevgeni85; 25.08.2010 в 17:03.
Jevgeni85 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для конвертации таблицы Excel Yarr Microsoft Office Excel 1 13.08.2010 10:47
Нужна программа или макрос для печати шаблонов word с данными взятыми из таблицы EXCEL dimatz Microsoft Office Excel 3 05.03.2010 12:17
Нужна помощь в написании ряда цифр для последующего переноса в Word.Excel andrius34 Помощь студентам 4 13.11.2009 16:50
Запись в Excel данных таблицы Word Диагностик Microsoft Office Excel 7 02.04.2009 20:55