Уважаемые форумчане! Нужна помощь с доработкой макроса! В предыдущей теме 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
Уважаемые форумчане! Помогите с данной проблемой. Суть проблемы состоит в следующем: есть два файла Excel (две книги) Книга1 и Книга2 в которых имеются две таблицы. Необходимо по двум столбцам (Дата и № Договора) путем сопоставления, перенести информацию из Книги 1(Данные1, Данные2, Данные3) в Книгу 2. Читал на различных форумах про функцию ВПР, что необходимо объединять ячейки, что-то непонятно)) Хотя функцией этой иногда пользовался. Пример во вложении.
Уважаемые форумчане нужна помощь в решении задачи по переносу файлов! Есть программа с помощью которой формируются отчёты представляющие собой пять файлов формата CSV, которые записываются каждый день в новую папку. Название папки представляет собой дату за которую выгружен файл и имеет вид (пример 01.01.2014). Так же есть файл EXCEL куда данные из CSV файлов переносятся (макросом) и делаются различные расчеты. Но перед тем как занести эти файлы нужно каждый файл перенести в отдельную папку (чтобы выгрузить данные за 01.01.2014 необходимо из папки с названием 01.01.2014 скопировать файлы 1.CSV в папку 1; 2.CSV в папку 2; и т.д все 5-ть файлов) Суть задачи состоит в том, чтобы за текущую дату файлы из папки соответствующей текущей даты переносились каждый в свою папку, перед этим удалив предыдущие файлы в этих папках.
Есть лист, на котором рассчитываются разные значения. В ячейках, допустим забита формула (А1+А2), которая равна 7, как сделать, чтобы вместо А1+А2 было 7. (Желательно макрос)
Есть БД Access из неё выгружаются данные с помощью Query запросов. Данные из себя представляют некую информацию за месяц (разбивка по дням и часам), внутри документа сделаны ссылки в рабочие формы. После перехода с одного месяца на другой (количество дней у месяцев разное, например 31 и 28 день) ссылки слетают, а именно после перехода с месяца где 31 день на месяц где 28 дней слетают ссылки за последний час 28 числа и т. д.
Помогите пожалуйста решить следующую задачу, а именно есть сайт на который вход осуществляется путём авторизации через ЕЦП (сертификат). С этого сайта нужно постоянно скачивать данные (с определенной периодичностью), а именно файл формата CSV, на который есть ссылка запрашиваемая с помощью javascript. Как автоматизировать процесс скачивания данных с помощью макроса и последующего их складирования в определенном месте на компьютере. Заранее спасибо!!!