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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2017, 03:59   #1
AEBus
Новичок
Джуниор
 
Регистрация: 09.06.2017
Сообщений: 3
По умолчанию Перевод чисел разделенных пробелами из шестнадцатеричной системы счисления в десятичную и наоборот

Приветствую всех
В столбце A в разных ячейках написаны числа в шестнадцатеричной системе счисления, разделенные пробелами, к примеру "48e eb 1c 11 10b 8c", "4a5 0 4d 14 136 8a", "466 12c 25 14 1f8 8a" и т.д.
Нужно поочередно их перевести в десятичную систему счисления, так же разделить пробелами и написать в ячейках столбца B
А в столбце C в разных ячейках написаны числа в десятичной системе счисления, разделенные пробелами, к примеру "1189 84 102 20 440 339", "15 64 100 20 450 350", "225 300 400 10 850 20" и т.д.
Нужно поочередно их перевести в шестнадцатеричную систему счисления, так же разделить пробелами и написать в ячейках столбца D
Помогите пожалуйста это осуществить с помощью макроса VBA либо с помощью формул
AEBus вне форума Ответить с цитированием
Старый 09.06.2017, 06:32   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Sub a()
    Dim HEX() As String
    Dim DEC() As String
    Dim el
    Dim rez As String
    
    HEX = Split([a1])

    rez = ""
    For Each el In HEX
        rez = rez & " " & Application.WorksheetFunction.Hex2Dec(el)
    Next
    [b1] = rez
    DEC = Split([c1])
    rez = ""
    For Each el In DEC
        rez = rez & " " & Application.WorksheetFunction.Dec2Hex(CInt(el))
    Next
    [d1] = rez
    
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 09.06.2017, 08:02   #3
AEBus
Новичок
Джуниор
 
Регистрация: 09.06.2017
Сообщений: 3
По умолчанию

Переводит числа первой ячейки столбца A в десятеричную систему счисления, заносит результат в первую ячейку столбца B, и выдает ошибку:

Run-time error '13':
Type mismatch

При нажатии кнопки Debug строчка
Код:
rez = rez & " " & Application.WorksheetFunction.Dec2Hex(CInt(el))
подсвечивается желтым

UPD:
Извиняюсь, мой косяк, пробел стоял перед числом в первой ячейке столбца C

Работает для первых ячеек каждого столбца, а как заставить работать для остальных ячеек?

Последний раз редактировалось AEBus; 09.06.2017 в 08:21.
AEBus вне форума Ответить с цитированием
Старый 09.06.2017, 08:24   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Циклом запускать по всех ячейках или UDF
Вложения
Тип файла: xls hexdecpec.xls (35.5 Кб, 23 просмотров)
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 09.06.2017, 08:42   #5
AEBus
Новичок
Джуниор
 
Регистрация: 09.06.2017
Сообщений: 3
По умолчанию

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод чисел из двоичной системы счисления в десятичную без использования процедур и функций crolikoff Паскаль, Turbo Pascal, PascalABC.NET 22 23.01.2016 21:35
Перевод числа из четверичной системы счисления в десятичную. Асичка Помощь студентам 2 30.01.2013 11:23
Перевод из римской системы счисления в десятичную и наоборот Александр77777 Помощь студентам 3 19.01.2012 15:42
перевод числа из шестнадцатеричной системы счисления в десятичную Едік Паскаль, Turbo Pascal, PascalABC.NET 10 27.12.2011 16:21
Перевод из шестнадцатеричной системы в десятичную AnderoN Общие вопросы Delphi 3 07.05.2011 19:55