Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
 Если есть свернутые строки макрос не срабатывает!  :(  
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Прикрепляю два файла: отчеты и план. Эти два файла сравниваются по двум столбцам (B и C) при совпадении информация из отчеты переносится в левую часть плана. Но при выполнении макроса (после нажатия кнопки "Синхронизация данных") формулы в файле план преобразуются в значения (пример столбец Z). Также, оказывается бывает такое что столбцы B и C совпадают в нескольких строчках  (пример в файле отчет строка 5 и 6) и берутся последние, хотелось бы, в таких случаях, чтобы данные обеех строчек переносились, только ещё левее.
Извините, если коряво объяснил  
Изменено: Raul_7 - 12.09.2017 11:06:49
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Уважаемые форумчане! Нужна помощь с доработкой макроса! В предыдущей теме http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=94264&...  благодаря помощи форумчан была решена задача переноса данных по двум  критериям, но в процессе использования программы возникло две проблемы:
1. При переносе данных, книга куда переносятся данные оцифровывается (формулы преобразуются в числа),
2. Выяснилось, что может быть вариант при котором совпадают  несколько раз строки (по двум столбцам), как можно перенести -эти данные  ещё дальше (правее).
Код которым пользуюсь в данный момент:
Код
Sub Синхронизация() 
Dim sht As Worksheet, sht1 As Worksheet 
Dim arr(), arr1(), i&, j&, x&, y& 
Set sht = Workbooks("Книга1.xlsx").Sheets("Лист1") 
Set sht1 = ThisWorkbook.ActiveSheet 
With sht 
    i = .Cells(.Rows.Count, "a").End(xlUp).Row 
    j = .Cells(4, .Columns.Count).End(xlToLeft).Column 
    arr = .Range(.Cells(5, "a"), .Cells(i, j)) 
End With 
With sht1 
    i = .Cells(.Rows.Count, "a").End(xlUp).Row 
    arr1 = .Range(.Cells(15, "a"), .Cells(i, 70)) 
For i = LBound(arr1) To UBound(arr1) 
    For j = LBound(arr) To UBound(arr) 
If arr1(i, 2) = arr(j, 2) And arr1(i, 3) = arr(j, 3) Then 
y = 3 
For x = UBound(arr1, 2) - 39 To UBound(arr1, 2) 
     arr1(i, x) = arr(j, y) 
     y = y + 1 
            Next x 
        End If 
    Next j 
Next i 
.Range("a15").Resize(UBound(arr1), UBound(arr1, 2)) = arr1 
End With 
End Sub
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям часть 2, Перенос данных из одной книги в другую, путем сопостовления двух столбцов
 
Уважаемые форумчане! Нужна помощь с доработкой макроса! В предыдущей теме http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=94264&... благодаря помощи форумчан была решена задача переноса данных по двум критериям, но в процессе использования программы возникло две проблемы:
1. При переносе данных, книга куда переносятся данные оцифровывается (формулы преобразуются в числа),
2. Выяснилось, что может быть вариант при котором совпадают несколько раз строки (по двум столбцам), как можно перенести -эти данные ещё дальше (правее).
Пример кода:

Sub Синхронизация()
Dim sht As Worksheet, sht1 As Worksheet
Dim arr(), arr1(), i&, j&, x&, y&
Set sht = Workbooks("Книга1.xlsx").Sheets("Лист1")
Set sht1 = ThisWorkbook.ActiveSheet
With sht
   i = .Cells(.Rows.Count, "a").End(xlUp).Row
   j = .Cells(4, .Columns.Count).End(xlToLeft).Column
   arr = .Range(.Cells(5, "a"), .Cells(i, j))
End With
With sht1
   i = .Cells(.Rows.Count, "a").End(xlUp).Row
   arr1 = .Range(.Cells(15, "a"), .Cells(i, 70))
For i = LBound(arr1) To UBound(arr1)
   For j = LBound(arr) To UBound(arr)
If arr1(i, 2) = arr(j, 2) And arr1(i, 3) = arr(j, 3) Then
y = 3
For x = UBound(arr1, 2) - 39 To UBound(arr1, 2)
    arr1(i, x) = arr(j, y)
    y = y + 1
           Next x
       End If
   Next j
Next i
.Range("a15").Resize(UBound(arr1), UBound(arr1, 2)) = arr1
End With
End Sub
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Все сработало, все отлично! Спасибо всем, кто помогал! Отдельное спасибо Nordheim-у!
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Nordheim, чуть усложню, чтобы подстраховаться 3 и 5 в 5 и 6
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Nordheim, спасибо все сработало! Остался вопрос как перенести столбцы  только 4 и 5 (при совпадении), а не все?
Изменено: Raul_7 - 02.08.2017 09:30:54
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Со сравнением все понятно If arr1(i, 1) = arr(j, 1) And arr1(i, 2) = arr(j, 2) Then Если столбец 1= столбцу 1 (вторая книга) и столбец2=столбец2(вторая книга) то переносятся данные.
А как сделать, чтобы при совпадении переносились данные из столбца 3 и 5 Книга1 в столбец 5 и 7 Книга2 (так как на самом деле формы документов разные и столбцы не совпадают по местоположению)
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Nordheim, огромное вам спасибо! Все работает, просто бомба. Не могли бы  вы пояснить "в двух словах" где можно менять столбцы которые будут  сравниваться и столбцы, которые при совпадении будут переносится.
i = .Cells(.Rows.Count, "a").End(xlUp).Row
   j = .Cells(4, .Columns.Count).End(xlToLeft).Column
Я так понимаю-это столбец А и рядом с ним столбец для сопоставления?
Тут не обозначены конкретные столбцы для переноса, переносится все что правее?
Изменено: Raul_7 - 02.08.2017 08:14:46
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Nordheim, пробую применить ваш код, выбивает ошибку  :(
Поясните пожалуйста, где в вашем коде перебирается второй столбец и если можно показать пример в файле.
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Nordheim, спасибо огромное! Сейчас буду пробовать.
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Прикрепляю исправленную Книгу 1
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 
Nordheim, извините, конечно совпадение по двум столбцам не допускается  (воял пример и ошибся, так как подлинную таблицу показать не могу)
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 

Сравнение должно происходить по двум столбцам при совпадении данные переносятся (копируются) в другую таблицу. Во вложении, как должно быть во второй книге.
Изменено: Raul_7 - 01.08.2017 10:54:40
Макрос переноса данных из одной книги в другую путем сравнения по нескольким критериям
 

Уважаемые форумчане! Помогите с данной проблемой. Суть проблемы состоит в следующем: есть два файла Excel (две книги) Книга1 и Книга2 в которых имеются две таблицы. Необходимо по двум столбцам (Дата и № Договора) путем сопоставления, перенести информацию из Книги 1(Данные1, Данные2, Данные3) в Книгу 2. Читал на различных форумах про функцию ВПР, что необходимо объединять ячейки, что-то непонятно)) Хотя функцией этой иногда пользовался. Пример во вложении.

Изменено: Raul_7 - 01.08.2017 16:48:55
Перенос файлов, С помощью макроса перенести файлы из одной папки в другую
 
Hugo, может и проще, но я не программист, а напрягать кого-то переделывать макрос не очень хочется. Вопрос больше стоит не в переносе данных, а как выбрать папку по текущей дате.  
Перенос файлов, С помощью макроса перенести файлы из одной папки в другую
 
wowick, именно в Excel, потому что дальнейшие действия делаются там же. Проблема заключается не в переносе из одного места в другое, а в том, что переносить файл из папки название, которой соответствует текущей дате
Перенос файлов, С помощью макроса перенести файлы из одной папки в другую
 
Уважаемые форумчане нужна помощь в решении задачи по переносу файлов!
Есть программа с помощью которой формируются отчёты представляющие собой пять файлов формата CSV, которые записываются каждый день в новую папку. Название папки представляет собой дату за которую выгружен файл и имеет вид (пример 01.01.2014). Так же есть файл  EXCEL куда данные из CSV файлов переносятся (макросом) и делаются различные расчеты. Но перед тем как занести эти файлы нужно каждый файл перенести в отдельную  папку (чтобы выгрузить данные за 01.01.2014 необходимо из папки с названием 01.01.2014 скопировать файлы 1.CSV в папку 1; 2.CSV в папку 2; и т.д все 5-ть файлов) Суть задачи состоит в том, чтобы за текущую дату файлы из папки соответствующей текущей даты переносились каждый в свою папку, перед этим удалив предыдущие файлы в этих папках.
Преобразование формулы в число
 
marker_mc и The_Prist СПАСИБО ОГРОМНОЕ!!! Сейчас буду пробовать
Преобразование формулы в число
 
Лист ТЭЦ-3 нужно отцифровать, потом он отправляется по почте и возвращается в исход. Таких листов может быть несколько
Преобразование формулы в число
 
Я это прекрасно понимаю, но хотелось бы в большой книге применить это свойство к нескольким листам. Нашел такой вариант Range("C8:AN788").Value = Range("C8:AN788").Value, но как это внедрить в макрос относительно определенной книги и определённых листов.
Преобразование формулы в число
 
Есть лист, на котором рассчитываются разные значения. В ячейках, допустим забита формула (А1+А2), которая равна 7, как сделать, чтобы вместо А1+А2 было 7. (Желательно макрос)
Слетают ссылки
 
Можно как-нибудь закрепить ячейки за конкретными данными?
Слетают ссылки
 
Есть БД Access  из неё выгружаются данные с помощью Query запросов. Данные из себя представляют некую информацию за месяц (разбивка по дням и часам), внутри документа сделаны ссылки в рабочие формы. После перехода с одного месяца на другой (количество дней у месяцев разное, например 31 и 28 день) ссылки слетают, а именно после перехода с месяца где 31 день на месяц где 28 дней слетают ссылки за последний час 28 числа и т. д.
Автоматическое скачивание информации из интернета
 
Помогите пожалуйста решить следующую задачу, а именно есть сайт на который вход осуществляется путём авторизации через ЕЦП (сертификат). С этого сайта нужно постоянно скачивать  данные (с определенной периодичностью), а именно файл формата CSV, на который есть ссылка запрашиваемая с помощью javascript. Как автоматизировать процесс скачивания данных с помощью макроса и последующего их складирования в определенном месте на компьютере.    
Заранее спасибо!!!
Страницы: 1
Наверх