Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос данных в другую книгу (с "если") - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос данных в другую книгу (с "если") (Макросы/Sub)
Перенос данных в другую книгу (с "если")
Hu40Cu Дата: Суббота, 08.04.2017, 15:12 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
День добрый! Помогите люди добрые. Имеется два стобца, в одном имя (допустим столбец A), в другом дата (допустим B), заполняются по мере поступления информации. Что нужно: Если в ячейке (в столбце "B") заполняется дата, то ячейка из "A", в которую заполняется имя и плюс данные из столбца "C" (допустим сумма) - копируется в другую книгу. Соответственно по мере заполнения первой книги - эти три ячейки копируются в другую книгу на последнюю не заполненную строчку. Другая книга лежит в той же папке.
Как пример прикреплю файл.
Если это дело происходит в одной книге, то все просто, а вот как в другую книгу это копировать - незнаю :(
К сообщению приложен файл: 4336047.xlsx (10.4 Kb)
 
Ответить
СообщениеДень добрый! Помогите люди добрые. Имеется два стобца, в одном имя (допустим столбец A), в другом дата (допустим B), заполняются по мере поступления информации. Что нужно: Если в ячейке (в столбце "B") заполняется дата, то ячейка из "A", в которую заполняется имя и плюс данные из столбца "C" (допустим сумма) - копируется в другую книгу. Соответственно по мере заполнения первой книги - эти три ячейки копируются в другую книгу на последнюю не заполненную строчку. Другая книга лежит в той же папке.
Как пример прикреплю файл.
Если это дело происходит в одной книге, то все просто, а вот как в другую книгу это копировать - незнаю :(

Автор - Hu40Cu
Дата добавления - 08.04.2017 в 15:12
Kuzmich Дата: Суббота, 08.04.2017, 20:07 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Цитата
а вот как в другую книгу это копировать

Макрос в Лист1 первой книги
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(2)) Is Nothing Then
Dim iLR As Long
Dim iBook As Workbook
    Application.EnableEvents = False
Set iBook = Workbooks("Другая книга.xls")
    With iBook.Worksheets("Лист1")
      iLR = .Cells(Rows.Count, 1).End(xlUp).Row + 1
      Target.Offset(, -1).Resize(, 3).Copy .Cells(iLR, 1)
    End With
End If
   Application.EnableEvents = True
End Sub
[/vba]
Обе книги должны быть открыты!
 
Ответить
Сообщение
Цитата
а вот как в другую книгу это копировать

Макрос в Лист1 первой книги
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Columns(2)) Is Nothing Then
Dim iLR As Long
Dim iBook As Workbook
    Application.EnableEvents = False
Set iBook = Workbooks("Другая книга.xls")
    With iBook.Worksheets("Лист1")
      iLR = .Cells(Rows.Count, 1).End(xlUp).Row + 1
      Target.Offset(, -1).Resize(, 3).Copy .Cells(iLR, 1)
    End With
End If
   Application.EnableEvents = True
End Sub
[/vba]
Обе книги должны быть открыты!

Автор - Kuzmich
Дата добавления - 08.04.2017 в 20:07
KuklP Дата: Воскресенье, 09.04.2017, 01:53 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Вот тут похожая задача обсуждалась. Адаптируйте.
http://www.excelworld.ru/forum/3-176-1


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВот тут похожая задача обсуждалась. Адаптируйте.
http://www.excelworld.ru/forum/3-176-1

Автор - KuklP
Дата добавления - 09.04.2017 в 01:53
krosav4ig Дата: Воскресенье, 09.04.2017, 02:31 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Вариант с ODBC подключением
таблица автоматически обновляется при изменении ячейки М2, или ПКМ по таблице>Обновить
Имя файла, из которого копируются данные вписано в диспетчере имен в файле "другая книга.xlsm"
текст запроса
[vba]
Код
select distinct * from (SELECT * from `Лист1$` in 'D:\папка\другая книга.xlsm' 'Excel 12.0 xml;hdr=no;'  union all select * from`Лист1$` in 'D:\папка\2963331.xlsx' 'Excel 12.0 xml;hdr=no;' where F2 is not null)
[/vba]
плюс макрос для обновления текста запроса
в модуле Лист [vba]
Код
Public WithEvents QT As QueryTable
Private Sub qt_BeforeRefresh(Cancel As Boolean)
    QT.CommandText = "select distinct * from (SELECT * from `Лист1$` in '" & _
        ThisWorkbook.FullName & "' 'Excel 12.0 xml;hdr=no;'  union all select" & _
        " * from`Лист1$` in '" & ThisWorkbook.Path & "\" & [ИмяФайла] & "' " & _
        "'Excel 12.0 xml;hdr=no;' where F2 is not null)"
End Sub
[/vba]
в ЭтаКнига[vba]
Код
Private Sub Workbook_Open()
    Set Лист1.QT = ThisWorkbook.Connections("запрос").Ranges(1).ListObject.QueryTable
End Sub
[/vba]
К сообщению приложен файл: 3288213.zip (21.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 09.04.2017, 02:33
 
Ответить
СообщениеВариант с ODBC подключением
таблица автоматически обновляется при изменении ячейки М2, или ПКМ по таблице>Обновить
Имя файла, из которого копируются данные вписано в диспетчере имен в файле "другая книга.xlsm"
текст запроса
[vba]
Код
select distinct * from (SELECT * from `Лист1$` in 'D:\папка\другая книга.xlsm' 'Excel 12.0 xml;hdr=no;'  union all select * from`Лист1$` in 'D:\папка\2963331.xlsx' 'Excel 12.0 xml;hdr=no;' where F2 is not null)
[/vba]
плюс макрос для обновления текста запроса
в модуле Лист [vba]
Код
Public WithEvents QT As QueryTable
Private Sub qt_BeforeRefresh(Cancel As Boolean)
    QT.CommandText = "select distinct * from (SELECT * from `Лист1$` in '" & _
        ThisWorkbook.FullName & "' 'Excel 12.0 xml;hdr=no;'  union all select" & _
        " * from`Лист1$` in '" & ThisWorkbook.Path & "\" & [ИмяФайла] & "' " & _
        "'Excel 12.0 xml;hdr=no;' where F2 is not null)"
End Sub
[/vba]
в ЭтаКнига[vba]
Код
Private Sub Workbook_Open()
    Set Лист1.QT = ThisWorkbook.Connections("запрос").Ranges(1).ListObject.QueryTable
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 09.04.2017 в 02:31
Hu40Cu Дата: Понедельник, 10.04.2017, 07:24 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо огромное! Разобрался с ODBC, вполне себе удобно :)
 
Ответить
СообщениеСпасибо огромное! Разобрался с ODBC, вполне себе удобно :)

Автор - Hu40Cu
Дата добавления - 10.04.2017 в 07:24
Monoblein Дата: Понедельник, 10.04.2017, 22:25 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день!
Тоже столкнулась с аналогичным запросом. Но особенность в том, что из имеющихся данных в исходном файле нужно переносить только те, которые отвечают критерию - в данном случае страна (Россия, Украина). Помогите, пожалуйста, расширить уже предложенные варианты подобным запросом!
К сообщению приложен файл: 6729537.xlsx (10.5 Kb)
 
Ответить
СообщениеДобрый день!
Тоже столкнулась с аналогичным запросом. Но особенность в том, что из имеющихся данных в исходном файле нужно переносить только те, которые отвечают критерию - в данном случае страна (Россия, Украина). Помогите, пожалуйста, расширить уже предложенные варианты подобным запросом!

Автор - Monoblein
Дата добавления - 10.04.2017 в 22:25
_Boroda_ Дата: Вторник, 11.04.2017, 10:20 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Monoblein, читайте Правила форума. Пункт 5q особенно внимательно


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеMonoblein, читайте Правила форума. Пункт 5q особенно внимательно

Автор - _Boroda_
Дата добавления - 11.04.2017 в 10:20
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос данных в другую книгу (с "если") (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!