Здравствуйте. Для компании требуется создать определенно построенный список клиентов с их данными в таблице excel. Собственно сам список уже имеется и мы знаем, как он должен выглядеть. Вопрос заключается в следующем - можно ли как-то создать такой список автоматически? Нужно облегчить работу менеджеру, чтобы он не вбивал все данные в каждую ячейку вручную, так как клиентов порядка 8000. Я просто не очень хорошо знакома с функциями excel и сказала менеджеру, что такой функции просто не существует). То есть по сути сейчас работа эта выглядит так - берем из одного файла название клиента, копируем в новый список в определенный столбец.
Файл пример прилагаю, вопрос заключается в автоматическом создании списка. В примере уже готовый вариант списка, как все данные автоматически разместить в этом списке?
Здравствуйте. Для компании требуется создать определенно построенный список клиентов с их данными в таблице excel. Собственно сам список уже имеется и мы знаем, как он должен выглядеть. Вопрос заключается в следующем - можно ли как-то создать такой список автоматически? Нужно облегчить работу менеджеру, чтобы он не вбивал все данные в каждую ячейку вручную, так как клиентов порядка 8000. Я просто не очень хорошо знакома с функциями excel и сказала менеджеру, что такой функции просто не существует). То есть по сути сейчас работа эта выглядит так - берем из одного файла название клиента, копируем в новый список в определенный столбец.
Файл пример прилагаю, вопрос заключается в автоматическом создании списка. В примере уже готовый вариант списка, как все данные автоматически разместить в этом списке?fotomodel
Не удается прикрепить файл с двумя листами информации из-за превышенного размера. Создала два отдельных файла - база клиентов (как должно быть) и исходный список данных (откуда надо взять информацию для базы клиентов).
Не удается прикрепить файл с двумя листами информации из-за превышенного размера. Создала два отдельных файла - база клиентов (как должно быть) и исходный список данных (откуда надо взять информацию для базы клиентов).fotomodel
Вставляете данные 8000 клиентов на Лист2 в столбец А, на листе 1 и Листе1(а) в таблицу разносятся данные. Конечно формулы на Листе1 и Листе1(а), придется протянуть вниз на 8000 строк. И увеличить при необходимости именованный диапазон. На Листе2 тоже придется формулы в доп. столбцах (В:Е), протянуть вниз до конца списка клиентов.
Вставляете данные 8000 клиентов на Лист2 в столбец А, на листе 1 и Листе1(а) в таблицу разносятся данные. Конечно формулы на Листе1 и Листе1(а), придется протянуть вниз на 8000 строк. И увеличить при необходимости именованный диапазон. На Листе2 тоже придется формулы в доп. столбцах (В:Е), протянуть вниз до конца списка клиентов.gling
В файл 3076318.xls вставьте Лист1 В модуль Листа2 скопируйте макрос [vba]
Код
Sub Klient() Dim i As Long Dim j As Long Dim iLastRow iLastRow = Cells(Rows.Count, 1).End(xlUp).Row With Worksheets("Лист1") .Cells.Clear .Range("A1:G1") = Array("Название компании", "Адрес", "Руководитель", "Телефон", "Факс", _ "Направление деятельности", "Собственность") j = 1 For i = 1 To iLastRow If Not IsEmpty(Cells(i, 1)) Then If InStr(1, Cells(i, 1), ":") = 0 Then j = j + 1 .Cells(j, 1) = Cells(i, 1) Else Select Case Split(Cells(i, 1), ":")(0) Case "Адрес" .Cells(j, 2) = Split(Cells(i, 1), ":")(1) Case "Руководитель" .Cells(j, 3) = Split(Cells(i, 1), ":")(1) Case "Телефон" .Cells(j, 4) = Split(Cells(i, 1), ":")(1) Case "Факс" .Cells(j, 5) = Split(Cells(i, 1), ":")(1) Case "Направление деятельности" .Cells(j, 6) = Split(Cells(i, 1), ":")(1) Case "Собственность" .Cells(j, 7) = Split(Cells(i, 1), ":")(1) End Select End If End If Next End With End Sub
[/vba] Находясь на Листе2 запустите макрос Klient, результат на Листе1
В файл 3076318.xls вставьте Лист1 В модуль Листа2 скопируйте макрос [vba]
Код
Sub Klient() Dim i As Long Dim j As Long Dim iLastRow iLastRow = Cells(Rows.Count, 1).End(xlUp).Row With Worksheets("Лист1") .Cells.Clear .Range("A1:G1") = Array("Название компании", "Адрес", "Руководитель", "Телефон", "Факс", _ "Направление деятельности", "Собственность") j = 1 For i = 1 To iLastRow If Not IsEmpty(Cells(i, 1)) Then If InStr(1, Cells(i, 1), ":") = 0 Then j = j + 1 .Cells(j, 1) = Cells(i, 1) Else Select Case Split(Cells(i, 1), ":")(0) Case "Адрес" .Cells(j, 2) = Split(Cells(i, 1), ":")(1) Case "Руководитель" .Cells(j, 3) = Split(Cells(i, 1), ":")(1) Case "Телефон" .Cells(j, 4) = Split(Cells(i, 1), ":")(1) Case "Факс" .Cells(j, 5) = Split(Cells(i, 1), ":")(1) Case "Направление деятельности" .Cells(j, 6) = Split(Cells(i, 1), ":")(1) Case "Собственность" .Cells(j, 7) = Split(Cells(i, 1), ":")(1) End Select End If End If Next End With End Sub
[/vba] Находясь на Листе2 запустите макрос Klient, результат на Листе1Kuzmich
Пересмотрел свой файл, формирует таблицу не правильно. Руководители распределились не верно. Требуется дороботка файла. Немного изменил формулу и добавил макрос как написал Kuzmich.
Пересмотрел свой файл, формирует таблицу не правильно. Руководители распределились не верно. Требуется дороботка файла. Немного изменил формулу и добавил макрос как написал Kuzmich.gling
Все получилось! Подскажите, еще пожалуйста, у меня в файле получается 4 листа. Данные взяты из Листа 2, конечные данные на Листе 1. Их я понятное дело сохраняю. Есть еще Лист 11 и Лист 1а, можно ли удалить последние два листа? Или все нужно сохранить как есть?
Все получилось! Подскажите, еще пожалуйста, у меня в файле получается 4 листа. Данные взяты из Листа 2, конечные данные на Листе 1. Их я понятное дело сохраняю. Есть еще Лист 11 и Лист 1а, можно ли удалить последние два листа? Или все нужно сохранить как есть?fotomodel
еще вариант с использованием надстройки Power Query (для работы запроса в файле она должна быть установлена) Свой исходный список вставляете в первый столбец Таблицы1, жмете Ctrl+Alt+F5 и в после выполнения запроса в таблице Список (справа) появляется сформированный список
еще вариант с использованием надстройки Power Query (для работы запроса в файле она должна быть установлена) Свой исходный список вставляете в первый столбец Таблицы1, жмете Ctrl+Alt+F5 и в после выполнения запроса в таблице Список (справа) появляется сформированный списокkrosav4ig