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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2013, 22:56   #1
ymnuhj
Пользователь
 
Регистрация: 26.03.2012
Сообщений: 42
По умолчанию Разбивка ячейки на столбец

Добрый вечер
Помогите пожалуйста написать макрос для решения следующей задачи.

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

Заранее благодарен
Изображения
Тип файла: jpg 1.jpg (14.8 Кб, 125 просмотров)
Вложения
Тип файла: rar chess.rar (8.6 Кб, 11 просмотров)
ymnuhj вне форума Ответить с цитированием
Старый 15.12.2013, 23:00   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Код:
Public Sub www()
    Dim c As Range, a, i&
    For Each c In [a7].CurrentRegion
        a = Application.Trim(Split(c, "."))
        For i = 2 To UBound(a) - 1
            [a65536].End(xlUp)(2) = Left$(a(i), InStrRev(a(i), " ") - 1)
        Next
        [a65536].End(xlUp)(2) = a(UBound(a))
    Next
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 15.12.2013 в 23:14.
kuklp вне форума Ответить с цитированием
Старый 15.12.2013, 23:13   #3
ymnuhj
Пользователь
 
Регистрация: 26.03.2012
Сообщений: 42
По умолчанию

А как убрать номера с помощью ctrl+h?
ymnuhj вне форума Ответить с цитированием
Старый 15.12.2013, 23:15   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Там текст по столбцам не получится. Только если по точке разбивать. Разная длина строк. См. макрос в прошлом посте.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 15.12.2013, 23:21   #5
ymnuhj
Пользователь
 
Регистрация: 26.03.2012
Сообщений: 42
По умолчанию

Спасибо. Работает.
А как разбить сразу (или результат работы этого макроса) на отдельные ходы? Макрос разбивает на пары ходов.
ymnuhj вне форума Ответить с цитированием
Старый 15.12.2013, 23:23   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Текст по столбцам
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 15.12.2013, 23:24   #7
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Как вариант макросом. Выделить ячейку с ходами и запустить макрос
Изображения
Тип файла: jpg 34.jpg (100.7 Кб, 124 просмотров)
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 15.12.2013, 23:26   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Код:
Public Sub www()
    Dim c As Range, a, i&
    For Each c In [a7].CurrentRegion
        a = Split(c, " ")
        For i = 2 To UBound(a)
        If InStr(a(i), ".") = 0 Then _
            [a65536].End(xlUp)(2) = Trim$(a(i))
        Next
        [a65536].End(xlUp)(2) = a(UBound(a))
    Next
End Sub
P.S. Алексей, а что это Вы картинки выкладываете?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 15.12.2013, 23:27   #9
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

По ходам почти так же
Изображения
Тип файла: jpg 35.jpg (102.9 Кб, 98 просмотров)
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 15.12.2013, 23:36   #10
ymnuhj
Пользователь
 
Регистрация: 26.03.2012
Сообщений: 42
По умолчанию

kuklp. Это именно то, что нужно.Только запись начинается со второго хода. Спасибо за помощь
P.S. Алексею спасибо за предложенный вариант

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбивка картинки kostya67 Работа с сетью в Delphi 5 10.11.2013 00:50
Ошибка. НЕ МОГУ ВСТАВИТЬ столбец В ЗАДАЧУ КОТОРАЯ ВЫВЕДЕТ СТОЛБЕЦ ИЗ ЕДИНИЦ ПОСЛЕ ЧИСЛА к. Диас_ Паскаль, Turbo Pascal, PascalABC.NET 1 14.06.2011 18:49
разбивка ячейки bulat2009 Microsoft Office Excel 23 04.04.2011 10:01
макрос который будет копировать столбец А из закрытой книги Данные, и вставлять в книгу Сток в столбец B Utirka66 Microsoft Office Excel 8 06.07.2009 09:53
Как развернуть данные из одной ячейки в столбец? chigik Microsoft Office Excel 4 15.04.2009 23:52