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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2009, 00:33   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию Переставить местами разряды

Есть ряд чисел, выглядит так(условно обозначим через буквы):
Вставляется в А1
Код:
ABCDEFGH  ABCDEFGH ABCDEFGH ....
где - любая буква, может принять значение от 0 до F
колличество групп, может быть различным(даже не знаю, какой максимум), то же самое и о пробелах, между группами.

Нужно получить такой вид в В1:
Код:
GHEFCDAB  GHEFCDAB GHEFCDAB ...

Как мона так сделать?
valerij вне форума Ответить с цитированием
Старый 23.03.2009, 00:49   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub test()
    MsgBox ИзменитьПорядок("ABCDEFGH   ABCDEFGH  ABCDEFGH")
    [b1] = ИзменитьПорядок([a1])
End Sub

Function ИзменитьПорядок(ByVal txt As String)
    arr = Split(txt, " "): If Not IsArray(arr) Then Exit Function
    For i = LBound(arr) To UBound(arr)
        w = arr(i): res = ""
        For j = Len(w) \ 2 To 1 Step -1
            res = res & Mid(w, j * 2 - 1, 2)
        Next j
        ИзменитьПорядок = ИзменитьПорядок & res & " "
    Next i
    ИзменитьПорядок = Trim(ИзменитьПорядок)
End Function
Запусти макрос test
EducatedFool вне форума Ответить с цитированием
Старый 23.03.2009, 00:55   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
test
Игорь, спасибо
valerij вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переставить строки Sergeevich Помощь студентам 7 20.06.2016 13:46
Переставить все буквы латинского алфавита в начало строки в порядке следования. zaq2000 Паскаль, Turbo Pascal, PascalABC.NET 17 18.12.2008 23:42
Матрицы.переставить строку с максимальным элементом на главной диагонали со строкой с заданным номмером м microlab Помощь студентам 3 07.11.2008 09:49
Есть ли разряды у программистов? Cubar Свободное общение 6 17.02.2008 13:07