Помогите с макросом

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
OJIdu
Сообщения: 14
Зарегистрирован: 14 дек 2009, 10:18

Есть соединенный столбец, в котором записаны города,
Мне требуется разъединить его, и сделать чтобы в каждой строчке был записан город , причем нужно сделать чтобы он автоматом записывал вначале один потом 2-й и т.д.
Кто может подскажите КАк записывать города
Заранее очень благодарен
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

Без примера файла с пояснениями Вы вряд ли дождётесь ответа.
Кто может подскажите КАк записывать города
Как-как... руками при помощи клавиатуры. Разве есть ещё варианты?
Макросы для Excel, Word, CorelDRAW. Быстро, профессионально, недорого. http://ExcelVBA.ru/

Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
Аватара пользователя
mc-black
Сообщения: 250
Зарегистрирован: 08 май 2008, 16:09
Откуда: Россия, Нижний Новгород
Контактная информация:

Если я правильно понимаю Ваш вопрос, вот одно из возможных решений:

Код: Выделить всё

Option Explicit

Sub Test()
    Call UnMergeCells(Лист1.Cells(1, 1))
End Sub

Private Sub UnMergeCells(mcl As Range)
    Dim s1 As String, s2() As String
    Dim rma As Range, cel As Range, i As Long
    If mcl.MergeCells Then
        s1 = mcl.Cells(1).Value
        s2 = Split(s1, Chr(10))
        Set rma = mcl.MergeArea
        mcl.MergeArea.MergeCells = False
        i = 0
        For Each cel In rma.Cells
            If i <= UBound(s2) Then cel.Value = s2(i)
            i = i + 1
        Next cel
        Set rma = Nothing
    End If
End Sub
[ATTACH]1201[/ATTACH]
Рабочий пример в прикрепленном файле.
[ATTACH]1202[/ATTACH]
Вложения
merge.zip
(13.21 КБ) 14 скачиваний
MergeCells.png
На заказ: VBA, Excel mc-black@yandex.ru
OJIdu
Сообщения: 14
Зарегистрирован: 14 дек 2009, 10:18

Спасибо "mc-black ". Ваш код навел меня на нужную мысль.
Ответить