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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2012, 17:02   #1
Skolot
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 101
Вопрос Преобразование базы данных в Excel2007

Базу данных в виде таблицы на Sheet1
надо преобразовать к виду, показанному на Sheet2
Как это сделать стандартными средствами, не используя макрос?
to-forum.rar
Skolot вне форума Ответить с цитированием
Старый 24.01.2012, 20:20   #2
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Skolot Посмотреть сообщение
Базу данных в виде таблицы на Sheet1
надо преобразовать к виду, показанному на Sheet2
Как это сделать стандартными средствами, не используя макрос?
Вложение 46865
из стандартных могу порекомендовать ctrl+C и ctrl+V

точно поможет
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 24.01.2012, 20:33   #3
Skolot
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 101
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
из стандартных могу порекомендовать ctrl+C и ctrl+V

точно поможет
Ну, я получше придумала
С помощью Advanced Filter, по кусочкам - указывая в критерии отбора повторяющиеся значения из столбца A.
Потом применяю формулу Concatenete для результата отбора и копирую значение формулы в нужное место.
Это крайне непроизводительно.
Хотелось бы как-то автоматизировать процесс.
Skolot вне форума Ответить с цитированием
Старый 24.01.2012, 21:23   #4
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Skolot Посмотреть сообщение
Ну, я получше придумала
С помощью Advanced Filter, по кусочкам - указывая в критерии отбора повторяющиеся значения из столбца A.
Потом применяю формулу Concatenete для результата отбора и копирую значение формулы в нужное место.
Это крайне непроизводительно.
Хотелось бы как-то автоматизировать процесс.
автоматизация- подразумевает, передача процесса машине, вы же хотите как то иначе, без макроса
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 24.01.2012, 21:35   #5
Skolot
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 101
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
автоматизация- подразумевает, передача процесса машине, вы же хотите как то иначе, без макроса
Я хочу использовать формулы и методы, более остроумные и эффективные, чем те, что я использую.
Мне самой не нравится мой вариант, но не знаю, как переключиться на что-нибудь более разумное.
Skolot вне форума Ответить с цитированием
Старый 24.01.2012, 21:40   #6
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Skolot Посмотреть сообщение
Я хочу использовать формулы и методы, более остроумные и эффективные, чем те, что я использую.
Мне самой не нравится мой вариант, но не знаю, как переключиться на что-нибудь более разумное.
когда тумблер щелкнет, что необходимо использовать программный код...
пишите поможем )
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 27.01.2012, 14:32   #7
Skolot
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 101
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
когда тумблер щелкнет, что необходимо использовать программный код...
пишите поможем )
Похоже, тумблер щелкнул. Я очень плохо знаю VBA и совсем не знаю, как задействовать написанный код. Но пора узнать.
Skolot вне форума Ответить с цитированием
Старый 27.01.2012, 17:45   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Sub tt()
    Dim cc As Range, i&

    With Sheets(2)
        For Each cc In Sheets(1).[a1].CurrentRegion.Columns(1).Cells
            If cc.Font.Bold = True Then
                i = .Range("A" & .Rows.Count).End(IIf(Len(.Range("A" _
                & .Rows.Count)), xlDown, xlUp)).Row + 1
                cc.Offset(, 1).Copy .Cells(i, 1)
            Else
                .Cells(i + cc.Value, 1).Value = IIf(Len(.Cells(i + _
                cc.Value, 1).Value), .Cells(i + cc.Value, 1).Value _
                & "; " & cc.Offset(, 1).Value, cc.Offset(, 1).Value)
            End If
        Next
        .Columns.AutoFit
    End With
    
End Sub
Кликаете ПКМ на ярлыке листа, выбираете "Исходный код/View Code", копипастите в открывшееся окно модуля листа текст макроса, закрываете редактор.
Потом по Alt+F8 выбираете из списка макрос tt(можно ему дать любое другое имя), выполняете (кнопка правее).
Можно на лист поместить объект из рисунков (свой сделать), который связать с этим макросом - сможете запускать мышкой.
Можно повестить код на событие активации любой ячейки или ещё что-нибудь придумать...
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 27.01.2012 в 19:09.
Hugo121 вне форума Ответить с цитированием
Старый 27.01.2012, 19:51   #9
Skolot
Форумчанин
 
Регистрация: 11.11.2008
Сообщений: 101
Хорошо

Все работает, спасибо большое!
Skolot вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базы данных изменение данных (Delphi (ADO)). RuthlessD Помощь студентам 0 16.06.2011 19:57
создание базы в excel2007 raynold Microsoft Office Excel 1 04.06.2010 09:27
Преобразование базы данных Access в формат SQL Server Alar Microsoft Office Access 5 18.04.2010 01:46
проверка базы данных на корректность веденных данных samouelson БД в Delphi 1 20.12.2009 17:23