Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel макрос ОЧЕНЬ срочно. Прошу / 16 сообщений из 16, страница 1 из 1
31.07.2013, 11:50
    #38349856
Gillza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
День добрый, уважаемые.
Перейду сразу к делу. Есть таблица. В столбце "А" список значений, многие из которых повторяются. В столбце "С" информация. Задача следующая: нужен макрос, чтобы искал дубликаты в столбце "А", объединял их БЕЗ потери данных, да и еще объединял соответствующие ячейки в столбце "С"
Очень срочно. Если кто может, помогите пожалуйста с макросом.
...
Рейтинг: 0 / 0
31.07.2013, 11:53
    #38349867
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
Расшифруйте "объединять дубликаты".
К примеру в столбце А есть три повторяющихся значения "зы", это значит в результате объединения в столбце А должно получиться "зызызы"?

Вообще, приложите лучше образцы файлов. Как есть и как должно получиться.
...
Рейтинг: 0 / 0
31.07.2013, 11:57
    #38349885
Gillza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
в столбце значения следующего формата
А С
1 Один
1 Два
2 Семь
3 Одиннадцать
4 Восемь
4 Пятнадцать
4 Четыре

На выходе должно быть следующее

А С

1 Один, Два
2 Семь
3 Одиннадцать
4 Восемь, пятнадцать, четыре

Приложить файл не могу, к сожалению. Данные публиковать нельзя
...
Рейтинг: 0 / 0
31.07.2013, 12:01
    #38349900
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
GillzaПриложить файл не могу, к сожалению. Данные публиковать нельзяя не просил данные, я просил ОБРАЗЕЦ. Теперь чтобы написать макрос, мне надо перебивать ваши данные вручную в эксель.
...
Рейтинг: 0 / 0
31.07.2013, 12:05
    #38349910
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
и еще вопрос, дубликаты в столбце А всегда идут подряд?
...
Рейтинг: 0 / 0
31.07.2013, 12:09
    #38349925
Gillza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
Прошу прощения. Вот файл. Слева то, что есть. Справа то, что должно быть
...
Рейтинг: 0 / 0
31.07.2013, 12:15
    #38349933
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
GillzaПрошу прощения. Вот файл.Ага, то есть речь идет о вертикальном объединении ячеек.

Вопросы по файлу:
Где должна быть расположена объединенная информация по столбцу С? Дело в том, что для ключа 1 она расположена в последней строке объединения, а для ключа 7 - в первой.


Чем обусловлен пробел в строке 12?


Дубликаты в столбце А всегда идут подряд?
...
Рейтинг: 0 / 0
31.07.2013, 12:18
    #38349939
Gillza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
Информация должна быть в этом же столбце "С". Данные идут один за одним, но, если есть возможность, лучше, чтобы искал по всему столбцу. Пробел ничем не обусловлен. Это моя ошибка.
...
Рейтинг: 0 / 0
31.07.2013, 12:25
    #38349955
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
GillzaИнформация должна быть в этом же столбце "С".в какой СТРОКЕ?
GillzaДанные идут один за одним, но, если есть возможность, лучше, чтобы искал по всему столбцу.Ну этого вы можете добиться предварительной сортировкой.

Еще вопрос - где должен быть получен результат (на другом листе, в другом файле, иные варианты)?
...
Рейтинг: 0 / 0
31.07.2013, 12:27
    #38349961
Gillza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
А... Не важно, в какой строке. Результат должен быть в на этом же листе. Вот...
...
Рейтинг: 0 / 0
31.07.2013, 13:49
    #38350155
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Dim i As Long, Prev As Variant, Acc As String, StartMerge As Long
StartMerge = 0
i = 0
Prev = ""
Application.DisplayAlerts = False

Do
  i = i + 1
  If Cells(i, 1) <> Prev Then
    If StartMerge > 0 Then
      If StartMerge <> i - 1 Then Range(Cells(StartMerge, 1), Cells(i - 1, 1)).Merge
      Cells(i - 1, 1) = Prev
      Cells(i - 1, 3) = Acc
    End If
    Acc = Cells(i, 3).Text
    Cells(i, 3) = ""
    Prev = Cells(i, 1)
    StartMerge = i
  Else
    Acc = Acc + ", " + Cells(i, 3).Text
    Cells(i, 3) = ""
  End If
Loop Until Cells(i, 1) = ""

Application.DisplayAlerts = True



благодарность могу принять на телефон
...
Рейтинг: 0 / 0
31.07.2013, 13:55
    #38350168
Gillza
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
Большое вам спасибо, уважаемый.
Как говорится, телефон в студию)
...
Рейтинг: 0 / 0
31.07.2013, 14:03
    #38350181
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
напишите письмо на мой адрес в профиле или откройте свой email
...
Рейтинг: 0 / 0
31.07.2013, 14:38
    #38350261
ElenHim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
Вариант в виде UDF

Вводить как формулу массива


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Option Explicit

Function UConcatVal(rng As Range) As Variant
Dim srr() As Variant, urr() As Variant, i As Long, ConcatVals() As Variant, UniqueVals As New Collection
srr = rng
On Error Resume Next
With UniqueVals
    For i = LBound(srr, 1) To UBound(srr, 1)
        .Add CStr(srr(i, 1)), CStr(srr(i, 1))
        If Err Then
            ConcatVals(.Count) = ConcatVals(.Count) & ", " & CStr(srr(i, 2))
        Else
            ReDim Preserve ConcatVals(.Count)
            ConcatVals(.Count) = CStr(srr(i, 2))
        End If
        Err = 0
    Next i
On Error GoTo 0
End With
ReDim urr(1 To UniqueVals.Count, 1 To 2)
For i = 1 To UniqueVals.Count
    urr(i, 1) = UniqueVals(i)
    urr(i, 2) = ConcatVals(i)
Next i
UConcatVal = urr
End Function
...
Рейтинг: 0 / 0
31.07.2013, 14:58
    #38350307
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
ElenHim, привет. Немножко не то - нужны именно объединенные ячейки (см. файл ТС), количество строк не меняется
...
Рейтинг: 0 / 0
31.07.2013, 15:17
    #38350358
ElenHim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel макрос ОЧЕНЬ срочно. Прошу
Shocker.Pro, merge ячеек я и не приметил. Обычно он не нужен
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel макрос ОЧЕНЬ срочно. Прошу / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]