Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Помогите написать макрос в Excel, экспорт данных из Excel в Word.

Ответить
Настройки темы
VBA - Помогите написать макрос в Excel, экспорт данных из Excel в Word.

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: xls table.xls
(39.0 Kb, 75 просмотров)
Добрый день, помогите пожалуйста написать макрос , который бы экспортировал определенные данные из таблицы (например ячейку 3 столбца 1, столбца 3 и столбца 5, вместе с заголовками) Excel в Word в абсолютно том же формате, т.е вставлял бы в Word фаил строку из таблицы с тем же шрифтом, размером ячеек, толщиной границ таблицы и т.д. Сложность еще заключается в том, что критерием для выбора определенной строки из всего объема таблицы должен служить отмеченный напротив нужной строки флажок (элемент управления формы).
Как это приблизительно должно выглядеть показано в приложенной таблице.
Может быть у кого-нибудь есть макросы для решения похожей задачи. Сам только начинаю изучать VBA так что для мне эта задача кажется фантастически сложной.
Буду очень признателен за любую помощь.
С уважением, Евгений.

Отправлено: 15:40, 22-06-2010

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


E.v.g, как срочно необходимо сделать макрос?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 17:18, 23-06-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день Delirium, oсобой спешки нет, планировал закончить таблицу к концу этого месяца.

Отправлено: 13:54, 24-06-2010 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата E.v.g:
должен служить отмеченный напротив нужной строки флажок (элемент управления формы). »
А обязательно флажок? Почему нельзя использовать другой способ отметки, например, писать 1 или 0?

Сложность в том, что флажки никоим образом не привязаны к линиям сетки. Если, конечно, количество строк и флажков строго фиксированно, то можно каждому флагу назначить свою ячейку(через свойства объекта). Если же количество произвольно, то тут никак не получится.(ну, или, точнее, я не пойму, как это сделать )

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 05:07, 19-08-2010 | #4


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: xls table.xls
(51.5 Kb, 246 просмотров)

Что мы имеем:
Назначив с свойствах флажка зависимую ячейку(в нее выводится true или false, в зависимости от состояния кнопки), и написав следующий макрос, получили экспорт в Word диапазона в зависимости от состояния флажка:

Код: Выделить весь код
Dim AppWord As Word.Application
     
    Set AppWord = CreateObject("Word.Application")
    AppWord.Visible = True

    AppWord.Documents.Add
    
    Range("A5:F5").Copy 'Копируем и вставляем заголовок с листа
    AppWord.Selection.Paste
    
    For i = 6 To 36 ' Цикл по строкам до 36-ой строки
    
    If Cells(i, 16) = True Then '16 столбец - столбец, в котором привязаны флажки и ячейки(см. вложение)
    

    Cells(i, 1).Copy' копируем ячейку и вставляем
    AppWord.Selection.Paste
     
   
    End If
    
    Next
    
    Application.CutCopyMode = False
    Set AppWord = Nothing
После вставки кода идем в Tools - Preferences и выставляем там галку напротив Microsoft Word Object Library. Тестируем
Во вложении - рабочий пример.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:16, 19-08-2010 | #5


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Столбец с состояниями можно скрыть и будет совсем чудно. В примере на флажки назначено только 5 верхних флажков. Остальные не охота было прощелкивать

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 06:17, 19-08-2010 | #6


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день, спасибо огромное. Да наверное с 1 и 0 будет проще чем с флажками.
Единственное что, сейчас копируются выделенные ячейки только первого столбца, подскажите пожалуйста как можно расширить этот диапазон? И еще, как сделать так что бы заголовки таблицы и данные из таблицы брались не из всего диапазона таблицы, а выборочно,
скажем из диапазона А:C, F:I и т.д и выводились в Word.
Заранее спасибо.

Последний раз редактировалось E.v.g, 19-08-2010 в 17:51.


Отправлено: 11:16, 19-08-2010 | #7


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


для вывода диапазона столбиков:

вместо
Cells(i, 1).Copy
поставить
Range(Cells(i, 1), Cells(i, 6)).Copy

Отправлено: 22:18, 03-05-2018 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Помогите написать макрос в Excel, экспорт данных из Excel в Word.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - *VBA* | Помогите написать макросы для Excel'я ove Программирование и базы данных 76 24-08-2010 16:24
2003/XP/2000 - [решено] Excel: Написать маленький макрос anatoly_neo Microsoft Office (Word, Excel, Outlook и т.д.) 8 11-03-2010 17:56
Простой макрос. Excel. Не могу написать. prosims Программирование и базы данных 5 07-05-2007 09:11
Excel макрос(функ-ция) не офрешается ZloiJoker Программирование и базы данных 2 13-07-2004 11:40
Макрос Excel работает после перезагрузки :( Guest Программирование и базы данных 1 11-05-2004 08:43




 
Переход