Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2009, 14:27   #1
Balina
Пользователь
 
Регистрация: 20.11.2009
Сообщений: 22
По умолчанию Сбор данных из 2й таблицы в первую с сортировкой

День добрый!

Прошу заранее прощения за коломбур. НИЧЕГО не понимаю в Еxcell. Мучаемся всем отделом уже 2 года и очень хотим автоматизировать процесс занимающий у нас 2 дня ручной работы..

Есть 2 таблицы. Первую надо обновить всеми данными из второй. Так чтобы:

1. была произведена сортировка по номеру в колонке C, внутри каждого значения по колонке А и В.

При отсутствии номера в первой таблице из второй - номер и имя были добавлены в первую таблицу ( путем добавлением новой строки в соответствующий к А и B колоннам раздел)

При отсутствии номера из первой таблицы во второй таблице - во второй добавляется пустая строка (получается тоже сортировка по номеру по возрастающей)

Загрузить данные за 2009й год из второй таблицы в первую на соответствующие поля. Хотя может этот пункт можно обойти если бы система при добавлении строки или нахождении тождественного номера в колонке С сразу загружала бы данные за 2009й в первую таблицу..

Как, где и что надо спрограммировать?

Заранее благодарю!

Пример 2х таблиц в исходном состоянии и нужного результата:
Вложения
Тип файла: zip 1. Tabelle to be updated.zip (27.5 Кб, 22 просмотров)
Тип файла: zip 2. Default tabelle.zip (10.2 Кб, 21 просмотров)
Тип файла: zip Stasistics Final result_Destinations IN, AR, AF, AS.zip (35.7 Кб, 19 просмотров)
Balina вне форума Ответить с цитированием
Старый 21.11.2009, 00:58   #2
Balina
Пользователь
 
Регистрация: 20.11.2009
Сообщений: 22
По умолчанию

Прошлась по http://www.msoffice.nm.ru/faq и ну никак не могу понять есть ли возможность автосортировки в Excell по двум колонкам с нахождением тождественных и новых номеров и их упорядочиванием без сбора всего в одну колонку.
Совсем опухла думать. ХЕЛП!!!
Balina вне форума Ответить с цитированием
Старый 21.11.2009, 11:03   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Во вложении пример,как получить цифровое представление ваших трех ячеек в дополнительном столбце для дальнейшей сортировки
Справедливо для заглавных латинских букв из двух знаков
Например ZZ дает код 728 ,по этому производится деление на 1000 и 1000000

Прошу прощения за не внимательность,при архивации вашего оригинального файла VBA проект не сохраняется,создал копию,теперь все в норме
Вложения
Тип файла: rar Сортировка.rar (16.5 Кб, 25 просмотров)
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 21.11.2009 в 11:43.
doober вне форума Ответить с цитированием
Старый 21.11.2009, 13:25   #4
Balina
Пользователь
 
Регистрация: 20.11.2009
Сообщений: 22
По умолчанию

Спасибо за попытку помочь!
Воспроизвела макрос, но сортировка получается не та что требуется.
У меня 4 столба которые надо сортировать как группу из 2х и 2х столбов. Результат должен получиться с пробелами в первых двух и вторых двух столбах в местах отсутствия номера тут или там.
Прошу прощения, но неимоверно сложно объяснить не зная терминов Excell.

Последний раз редактировалось Balina; 21.11.2009 в 13:42.
Balina вне форума Ответить с цитированием
Старый 21.11.2009, 13:36   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я сам удивляюсь,что творится с Вашим документом,сохранятся не хочет,некогда разбиратся.
Может надо разрешить макросу запуститься


Меню -Сервис-Макрос-Безопасность - Низкая



Загрузил себе проверил,все работает


Поместите код в Модуль
Запустите sopt


Код:

Const STRING_BASE = 27

 Sub sopt()

 Dim cell As Range: Set cell = [a65000].End(xlUp).Offset(1)
 
 For i = 2 To cell.Row - 1
 
 

Cells(i, 21) = Cells(i, 3) + StringToDbl(Cells(i, 1), 3) / 1000 + StringToDbl(Cells(i, 2), 3) / 1000000

Next

End Sub

Function StringToDbl(txt As String, full_len) As Double
Dim strlen As Integer
Dim i As Integer
Dim value As Double
Dim ch As String

    strlen = Len(txt)
    If strlen > full_len Then strlen = full_len

    value = 0#
    For i = 1 To strlen
        ch = Mid$(txt, i, 1)
        value = value * STRING_BASE + Asc(ch) - Asc("A") + 1
    Next i

   ' For i = strlen + 1 To full_len
      '  value = value * STRING_BASE
   ' Next i
    
    StringToDbl = value
    
End Function
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 21.11.2009 в 13:42.
doober вне форума Ответить с цитированием
Старый 23.11.2009, 12:39   #6
Balina
Пользователь
 
Регистрация: 20.11.2009
Сообщений: 22
По умолчанию

doober, спасибо за объяснение!

Все работает. Но, это не то что нужно. К сожалению, сортировка по отдельному столбцу не приносит мне результата лучше чем ручная сортировка.

а нужно:

Сортировать строки в первой и второй таблицах одновременно чтобы у них строки соответствовали по:
1е условие - А и В столбцах
2е условие - прогрессия в номерах С столбца

Результат должен быть измененное состояние и первой и второй таблицы с пустыми строками в первой и второй таблицах в местах отсутствия номера тут или там.

Может загрузить попроще пример? Только я не знаю как мне этот простой пример потом адаптировать к своим таблицам..
Balina вне форума Ответить с цитированием
Старый 23.11.2009, 13:37   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
1. была произведена сортировка по номеру в колонке C, внутри каждого значения по колонке А и В.
Цитата:
1е условие - А и В столбцах
2е условие - прогрессия в номерах С столбца
Здесь у Вас противоречия
Какой порядок приоритета сортировки?

Как будет поставлен вопрос ,такое будет и решение

Я думаю,что столбец С основополагающий.
Вы на примере 2-3 строк создайте документ с пояснениями
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 23.11.2009 в 13:40.
doober вне форума Ответить с цитированием
Старый 23.11.2009, 14:16   #8
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от Balina Посмотреть сообщение
У меня 4 столба которые надо сортировать как группу из 2х и 2х столбов. Результат должен получиться с пробелами в первых двух и вторых двух столбах в местах отсутствия номера тут или там.
Объясните конкретнее.
Любую сортировку можно выполнить
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 23.11.2009, 23:54   #9
Balina
Пользователь
 
Регистрация: 20.11.2009
Сообщений: 22
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Здесь у Вас противоречия
Какой порядок приоритета сортировки?

Как будет поставлен вопрос ,такое будет и решение

Я думаю,что столбец С основополагающий.
Вы на примере 2-3 строк создайте документ с пояснениями
Вот упрощенный пример 2х таблиц (2-3 строк оказалось маловато) и нужного результата с пояснениями. (как смогла )

Может быть Вы знаете более простой вариант представления сводной таблицы? В "нужном результате" уточнила что именно хочется получить в этой сводной таблице.

Заранее благодарю за трату Вашего времени на эти "чайниковские" вопросы.
Вложения
Тип файла: zip Example 2..zip (12.0 Кб, 14 просмотров)
Balina вне форума Ответить с цитированием
Старый 24.11.2009, 01:03   #10
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Вот теперь все понятно .
Посмотрите,правильно ли я Вас понял по сортировке
Жду ответа для дальнейших действий
Вложения
Тип файла: rar 2. Default tabelle.rar (17.3 Кб, 21 просмотров)
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 24.11.2009 в 01:16.
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
авт. перенос данных из нескольких столбцов одной таблицы в один столбец другой таблицы A_ALL Microsoft Office Access 7 24.08.2009 21:13
Сбор таблицы mephist Microsoft Office Excel 4 17.07.2009 15:15
Копирование данных на первую пустую ячейку kzld Microsoft Office Excel 8 15.07.2009 14:06
Сбор данных OgE®_M@G Microsoft Office Excel 6 05.11.2008 05:57
Найти первую цифру в данных ячейки.. kra183 Microsoft Office Excel 11 09.05.2008 01:35