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

Страницы: 1
Перебор ячеек диапазона с копированием ячеек и вставкой в разные книги в папке, Циклы
 
Добрый день. есть задача.
1) Из Excel файла Spisok с помощью цикла осуществляем перебор ячеек диапазона. Диапазон ("А2:B6").
2) Ячейки А2:В2 из файла Spisok копируем и вставляем в файл по наименованию 1 в ячейку A2:В2.
3) Ячейки А3:В3 из файла Spisok копируем и вставляем в файл по наименованию 1 в следующую пустую ячейку столбца А и В.
4) Ячейки А4:В4 из файла Spisok копируем и вставляем в файл по наименованию 2 в ячейку А2:В2.
5) Ячейки А5:В5 из файла Spisok копируем и вставляем в файл по наименованию 3 в ячейку А2:В2.
6) Ячейки А6:В6 из файла Spisok копируем и вставляем в файл по наименованию 3 в ячейку А3:В3.
Все это делается с использованием циклов. Проблема в том, что список ("А2:А6") в файле Spisok имеет вид:
НаименованиеЗначения показателя, руб.
Фрукт 1500
Фрукт 1400
Фрукт 2600
Фрукт 3700
Фрукт 3300
Т.е. Фрукт1 и Фрукт 1 встречается несколько раз, но суммировать их не нужно. Значения 500  вставляется в файл 1xlsx, а в следующую пустую строку 1.xlsx вставляется 400 руб. Цикл идет дальше и вставляет 600 в файл 2.xlsx.
Далее вместо Фрукт 4 будет в наименовании например: Яблоко. Привязываться к цифрам в наименовании не нужно. Соответственно Яблоко 900 руб. из Spisok.xlsx должен вставиться в файл Яблоко.xlsx

Файлов всего три (куда нужно вставить): 1.xlsx;  2.xlsx;   3.xlsx
Код нужен с подробными комментариями.

Бюджет 2000 руб.
Изменено: Spec - 25.09.2021 15:11:33
Поиск по всем файлам Excel в папке и всем листам, Макрос поиска в папке по всем файлам Excel и всем листам в каждом файле
 
Добрый день!

Необходимо организовать поиск по всем файлам Excel в папке и всем листам в каждом файле. И копировать всю строку, где нашелся искомый текст. Копировать все нахождения и все строки, где они находятся.
Имеется макрос, но он не работает. Нужно доработать макрос. Желательно сохранить общую структуру неработающего макроса, так как макрос для многократного использования. Плюс добавить комментарии для кода, чтобы код можно было использовать регулярно.
Проблема неработающего кода в том, что нужно дописать игнорировать ошибки и другие недочеты исправить. Так как книги и листы Excel могут быть разными.
Желательно использовать потомка объекта Range - Семейство Areas, и свойство EntireRow
Техническое описание более подробно напишу в личку, хотя программист поймет тех. задание по структуре неработающего кода. Код тоже вышлю в личку.

Бюджет 1200 руб.
Изменено: Spec - 04.04.2021 06:52:24
Цикл открывающий файлы Excel и копирующий определенные ячейки в файл с кодом, Применение циклов
 
Добрый день!

Есть задача:
1) Открывать файлы с помощью цикла
2) Копировать определенные ячейки из разных мест на листе.

3) Вставлять в список в книгу с кодом Macro.xlsm (ThisWorkbook) следующую пустую строку по столбцам А и B.

Код не работает. Идет Run, потом пропадает окно с кодом, но VBE остается. То же самое с Листом ThisWorkbook, только серая область, без разметки.

Код
Sub KopirovanieIVstavkaVSpisok()
Dim s As String, MyFiles As String, MyRange As String, MyRange2 As String, wb As Workbook


Application.DisplayAlerts = False
Application.ScreenUpdating = False
Application.AskToUpdateLinks = False

MyFiles = "C:\Users\User\Desktop\Papka3\"
s = Dir(MyFiles & "*.xls")
Do While s <> ""
    With Workbooks.Open(MyFiles & s)
        
        ' To copy file
        Set wb = Workbooks.Open(MyFiles & s)
        Range("D1").Select ' .Worksheets("Лист1").
        Selection.Copy
                        
        ' To insert file
        ThisWorkbook.Worksheets("Лист2").Select
        MyRange = "A" & ThisWorkbook.Worksheets("Лист2").Cells.SpecialCells(xlCellTypeLastCell).Row + 1
        ThisWorkbook.Worksheets("Лист2").Range(MyRange).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        
        
        ' To copy file
        Set wb = Workbooks.Open(MyFiles & s)
        Range("G8").Select ' .Worksheets("Лист1").
        Selection.Copy
        
        ' To insert file
        ThisWorkbook.Worksheets("Лист2").Select
        MyRange2 = "B" & ThisWorkbook.Worksheets("Лист2").Cells.SpecialCells(xlCellTypeLastCell).Row + 1
        ThisWorkbook.Worksheets("Лист2").Range(MyRange2).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        
        .Close SaveChanges:=True
        
    End With
    s = Dir
Loop

Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.AskToUpdateLinks = True

End Sub
Изменено: Spec - 02.10.2020 17:37:02
VBA. Создать файлы Excel в одной папке с названиями файлов из списка (Range) с помощью цикла, Применение цикла к диапазону для создания файлов Excel в папке
 
Добрый день!

Есть задача.
1) Создать Excel файлы в одной директории по адресу: C:\Users\User\Downloads\Papka
2) Названия Excel файлов берутся из файла List_of_New_Files_Names , листа "List2", столбца "A".
3) Одна ячейка из файла List_of_New_Files_Names , листа "List2", столбца "A"  равна одному Excel файлу в C:\Users\User\Downloads\Papka
4) Применить цикл.
5) В  файле List_of_New_Files_Names , лист "List2", столбец "A" могут попадаться пустые строки, их нужно пропускать, типа что сделать - Nothing, но цикл должен обработать весь диапазон.
6) Цикл For Each...Next, либо что-то подобное, счетчик не нужен.
7) Будет создано примерно 2000 файлов Excel.

VBA код должен быть помещен в файл:  Coding.xlsm

List_of_New_Files_Names.xlsx хранится отдельно от Coding.xlsm

Файл не грузится, пишет загружаемые файлы не должны быть размером более 100 Кб.
Файл  List_of_New_Files_Names.xlsx отправлю исполнителю по эл.почте.
Результат: нужен именно сам VBA код с комментариями.
Для многоразового использования кода.
Код должен быть лаконичным и понятным.  

Бюджет 700 руб.
Изменено: Spec - 16.09.2020 11:23:34
Парсинг набора файлов xml из директории локального диска в базу данных MS Access на Python, Парсинг кучи Xml файлов из папки на локальном диске в базу данных MS Access на Python
 

Добрый день!

1) Необходим рабочий скрипт парсинга набора файлов xml из директории локального диска в одну таблицу базы данных MS Access.
Путь к директории (папка):   C:\Users\User\Desktop\Nezavisimai osenka\O_Rezultatax_Ozenki\data-20200525T213536-structure001-20151020T000000.xml
В папке есть xml файлы, которые скачены с URL:

https://bus.gov.ru/pub/open-passport-data?passportId=501

В поле (теге) ns2:RATING_YEAR  выбрать значение  = 2019, т.е.  в базу данных сохранялись данные только за 2019 год.

Необходимо предоставление рабочего скрипта.

Бюджет 700 рублей.

Написал скрипт, но он не рабочий.

 

 

Код
pip instal lxml
from lxml import objectifypath = 'C:\Users\User\Desktop\Nezavisimai osenka\O_Rezultatax_Ozenki\data-20200525T213536-structure001-20151020T000000.xml/
parsed = objectify.parse(open(path))
root = parsed.getroot()
data = []
skip_fields = ['ns2:PPO_NAME', 'ns2:OPF_NAME'
'ns2:SCOPE_CODE, 'ns2:SCOPE_NAME', ns2:RATING_YEAR]
for elt in root.ns:INDEPENDENT_RATING_ROLLOUTel:
el_data = {}
In [1]: perf = pd.DataFrame(data)
In [1]: perf.head()
Out[2]
Empty DataFrame
columns: []
Index: []

2) Принимается также возможность решения данной задачи не только средствами Python, но и PHP.
Тогда необходим рабочий скрипт парсинга набора файлов xml из директории локального диска в одну таблицу базы данных MySQL.Путь к директории (папка):   C:\Users\User\Desktop\Nezavisimai  osenka\O_Rezultatax_Ozenki\data-20200525T213536-structure001-20151020T000000.xml
В папке есть xml файлы, которые скачены с URL:

https://bus.gov.ru/pub/open-passport-data?passportId=501

В поле (теге) ns2:RATING_YEAR  выбрать значение  = 2019, т.е.  в базу данных сохранялись данные только за 2019 год.
Также необходимо предоставление рабочего скрипта.

Изменено: Spec - 14.09.2020 15:44:14
Парсинг из набора открытых данных, Осуществить парсинг открытых данных, сохранить в базу данных Mysql, экспорт в CSV, экспорт Excel.
 
Добрый день!

Есть задача для тех. кто умеет парсить.
1. Осуществить парсинг открытых данных (написать скрипт парсинга, код скрипта парсинга можно не предоставлять, так как заказчик не программист по образованию)
2. Сохранить результат парсинга в базу данных Mysql (вместо Mysql можно использовать Microsoft Access, или любую другую программу работы с базой данных)
3. Экспорт в CSV, экспорт в Excel. (Можно сразу в Excel).
База данных в Excel должна отвечать закону нормализации.Т.е. список идет вниз.
Парсинг должен выдать результаты по одному субъекту Федерации (области).
Примерная шапка базы данных:
Муниципальное образование  /  ИНН  /  Наименование организации  /  Тип организации  /   Балл  рейтинга   + еще некоторые столбцы которые будут в наборе данных.
Проходить  Captcha не надо. Набор открытых данных выложен в открытом доступе в сети. На самом сайте (HTML) и в папке архиве, где лежит куча файлов XML

Парсите на любом языке программирования, выбор языка программирования за исполнителем (программистом).

По трудозатратности проект займет 2-3 часа.

Бюджет: 1100 руб.
Изменено: Spec - 07.09.2020 06:50:46
Excel VBA Копирование вставка данных из одной папки с файлами в другую папку с файлами, Из одной папки по циклу открываем файлы, копируем данные из ячеек, потом по поиску по именам файлов из втрой папки вставляем в них данные
 
Добрый день!

Есть задача.

1) Имеется в наличии 2 папки: называются Papka1 и Papkа2
2) Список файлов Papka1:
Апельсин Д-00082
Помидор (СЦ)_Уд-0000000087
Яблоко (СЦ)_Пр_231

3) Список  файлов Papka2:
Tr27 Апельсин
помидор UZ-96
Яблоко АА7

4) Имеется таблица соотнесения ячеек файлов из Papka1 и Papka2, это соотнесение статично, выглядит так:
Papka1, файл Апельсин Д-00082     Papka2, файл  Tr27 Апельсин
                                 Ячейка С2 = Ячейка D2
                                 Ячейка С4 = Ячейка D3
                                 Ячейка С5 = Ячейка D4
                                 Ячейка С9 = Ячейка D5
Для файлов содержащих в название слово "Помидор" и "помидор" действует такое же правило копирования\вставки из Papka1 в Papka2.
5) Количество файлов в Papka 1 равно количеству файлов в Papka2,
6) Данные из файла Яблоко в Papka1 копируем и вставляем в файл Апельсин Papka2. Имена файлов немного отличаются.
Т.е. из одной формы установленного образца делаем другую форму установленного образца.

Файлов несколько сотен на самом деле.

7) Для того чтобы копировать ячейки из Papka1 в Papka2 пытался применить такой код:


Код
Sub KopirovanieIVstavka()
Dim s As String, p As String, MyFiles As String, MyFiles2 As String, MyVal As Range
 
Application.DisplayAlerts = False
Application.ScreenUpdating = False
 
MyFiles = "C:\Users\Users\Desktop\Papka1\"
s = Dir(MyFiles & "*.xls")
Do While s <> ""
    With Workbooks.Open(MyFiles & s)
 
' Как оформить поиск по именам файлов в Papka2 ? 
x = Left(.Dir(Myfiles, InStr(1, Dir(MyFiles, ",") - 1)
 
    ' Address to copy file
        Set MyVal = Dir(MyFiles2& "*.xls").Find(x)
        If Not MyVal Is Nothing Then
 
        ' To copy file            To insert file
       Dir(MyFiles).Range("С2") = Dir(MyFiles2).Range("D2")
        Dir(MyFiles).Range("С4") = Dir(MyFiles2).Range("D3")
        Dir(MyFiles).Range("С5") = Dir(MyFiles2).Range("D4")
        Dir(MyFiles).Range("С9") = Dir(MyFiles2).Range("D5")
        .Close SaveChanges:=True
        End If
    End With
    s = Dir
Loop
 
Application.DisplayAlerts = True
Application.ScreenUpdating = True
 
End Sub

Прошу строго не судить, по образованию не программист))

Код не работает.

В разделе "Вопросы по Microsoft Excel" создал тему с этой же проблемой. Пользователь Nordheim посоветовал посмотреть в сторону FileSystemObject. Но я что-то не смог разобраться.
Цена 700 руб. Желательно исправить имеющийся выше код, так как его принцип отдаленно понимаю.Прошу добавить еще комментарии в код, чтобы знать что откуда брать.
Изменено: Spec - 02.09.2020 08:03:38
Excel VBA Копирование вставка данных из одной папки с файлами в другую папку с файлами
 
Добрый день!

Есть задача.

1) Имеется в наличии 2 папки: называются Papka1 и Papkа2
2) Список файлов Papka1:
Апельсин Д-00082
Помидор (СЦ)_Уд-0000000087
Яблоко (СЦ)_Пр_231

3) Список  файлов Papka2:
Tr27 Апельсин
помидор UZ-96
Яблоко АА7

4) Имеется таблица соотнесения ячеек файлов из Papka1 и Papka2, это соотнесение статично, выглядит так:
Papka1, файл Апельсин Д-00082     Papka2, файл  Tr27 Апельсин
                                 Ячейка С2 = Ячейка D2
                                 Ячейка С4 = Ячейка D3
                                 Ячейка С5 = Ячейка D4
                                 Ячейка С9 = Ячейка D5
Для файлов содержащих в название слово "Помидор" и "помидор" действует такое же правило копирования\вставки из Papka1 в Papka2.
5) Количество файлов в Papka 1 равно количеству файлов в Papka2,
6) Данные из файла Яблоко в Papka1 копируем и вставляем в файл Апельсин Papka2. Имена файлов немного отличаются.
Т.е. из одной формы установленного образца делаем другую форму установленного образца.

Файлов несколько сотен на самом деле.

7) Какой код необходим для того чтобы копировать ячейки из Papka1 в Papka2?
Произвести копирование массива и его вставку в строку с транспонированием значений столбцов
 
Добрый день!

Есть задача по копированию и вставке с транспонированием массива.
1) из Массива 1 получается Массив 2
2) из Массива 3 получается Массив 4
3) из Массива 5 получается Массив 6

Файл прилагается.

Как сделать это с помощью VBA (array). Даже не знаю какой код применить.
Диапазон шахматка + Диапазон шахматка = Один список (нормализованный диапазон), Слияние диапазонов шахматок
 
Добрый день. есть задача.
1) Из диапазон 1 и диапазон 2 получаем диапазон 3.
2) Диапазон 1 содержит данные через 2 строки.
3) Диапазон 2 содержит данные через 1 строку.
4) Диапазон 3 не содержит пробелов в итоге слияния.

Помогите пожалуйста решить задачу с помощью VBA.

Файл примера прикреплен. Какой код VBA использовать не знаю.
VBA Цикл перебирает диапазон, копирует по одной ячейке и вставляет в конец другого диапазона в другом Workbook + 1 пустая строка, VBA, циклы, копирование, вставка, через строку
 
Добрый день. есть задача.
1) Из Excel файла A с помощью цикла осуществляем перебор ячеек диапазона. Диапазон ("C2:C4").
2) Ячейку C2 из файла "A" копируем и вставляем в файл по наименованию B в ячейку D2.
3) Ячейку C3 из файла "A" копируем и вставляем в файл по наименованию B в ячейку D4.
4) Ячейку C4 из файла "A" копируем и вставляем в файл по наименованию B в ячейку D6.
Все это делается с использованием циклов.
Проблема  в одновременном переборе циклом диапазона ячеек в файле A для  копирования и цикла с определением последней строки + 1 для вставки.

Диапазон на самом деле содержит почти пару тысяч строк. Но его сократил для понимания задачи.

Помогите пожалуйста решить задачу.

Файлы примеров также прикреплены. Есть код (ниже), но не работает.
Код
Sub CopyPasteToNextEmptyCell()
Dim NextRow As Long
Dim MyRange As Range
Dim MyCell As Range

    Set MyRange = Workbook("A").Sheets("AAA").Range("C2:C4")

    For Each MyCell In MyRange

    MyCell.Copy
    
    Workbooks("B.xlsx").Sheets("BBB").Activate
    
    Do
    ' Identification Next Empty Row
    NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
       
    Workbooks("B.xlsx").Sheets("BBB").Cells(NextRow, 1).Paste
     Loop
Exit Do
    
    Next MyCell

End Sub
 
Изменено: Spec - 26.07.2020 09:41:39
Перебор ячеек диапазона с копированием каждой ячейки и вставкой в разные книги в папке
 
Добрый день. есть задача.
1) Из Excel файла Spisok с помощью цикла осуществляем перебор ячеек диапазона. Диапазон ("B2:B4).
2) Ячейку А2 из файла Spisok копируем и вставляем в файл по наименованию 1 в ячейку A2.
3) Ячейку А3 из файла Spisok копируем и вставляем в файл по наименованию 2 в ячейку А2.
4) Ячейку А4 из файла Spisok копируем и вставляем в файл по наименованию 3 в ячейку А2.
Все это делается с использованием циклов.
Проблема в одновременном переборе циклом диапазона ячеек в файле Spisok для копирования и переборе Excel-файлов 1, 2, 3 для вставки.

Диапазон на самом деле содержит почти 1600 строк. Но его сократил для понимания задачи.

Помогите пожалуйста решить задачу.

Файлы примеров также прикреплены. Есть код (ниже), но не работает.



Sub KopirovanieIVstavkaVRaznyeWorkbook()

Dim MyRange As Range
Dim MyCell As Range
Dim MyFiles As String

Set MyRange = Application.Workbooks(Spisok.xlsm).Worksheets("Sheet1").Range("B2:B4")
       
       For Each MyCell In MyRange
       If MyCell > 0 Then
           MyFiles = Dir("C:\Users\User\Desktop\Papka\*.xlsx")
           Do While MyFiles <> “”
   
       Workbooks.Open "C:\Users\User\Desktop\Papka\" & MyFiles
       ActiveWorkbook.Worksheets(1).Range("A2") = MyCell
       ActiveWorkbook.Close SaveChanges:=True
       MyFiles = Dir
   
       Exit Do
       Loop
       
       Else
       MyCell.Offset(0, 1).Value = "Pusto"
       
   End If
   Next MyCell

End Sub
Страницы: 1
Наверх