Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/замена букв на соответствующие числа - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » замена букв на соответствующие числа (Макросы/Sub)
замена букв на соответствующие числа
lamak58 Дата: Вторник, 05.07.2016, 12:47 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
здравствуйте,снова обращаюсь за вашей помощью,старожилы
есть значения в таком виде : № 51-81А № 51-83А № 52-82В № 52-71Г

как макросом поменять в них букву А на 1,В на 3,Б на 2 и т. п. ??
 
Ответить
Сообщениездравствуйте,снова обращаюсь за вашей помощью,старожилы
есть значения в таком виде : № 51-81А № 51-83А № 52-82В № 52-71Г

как макросом поменять в них букву А на 1,В на 3,Б на 2 и т. п. ??

Автор - lamak58
Дата добавления - 05.07.2016 в 12:47
китин Дата: Вторник, 05.07.2016, 12:55 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3454
Репутация: 549 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
составить таблицу соответствия букв и цифр, разместить ее на листе файла Excel а сам файл приложить к вопросу


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщениесоставить таблицу соответствия букв и цифр, разместить ее на листе файла Excel а сам файл приложить к вопросу

Автор - китин
Дата добавления - 05.07.2016 в 12:55
Pelena Дата: Вторник, 05.07.2016, 13:00 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 9879
Репутация: 2265 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
Можно попробовать КОДСИМВ() задействовать


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеМожно попробовать КОДСИМВ() задействовать

Автор - Pelena
Дата добавления - 05.07.2016 в 13:00
abtextime Дата: Вторник, 05.07.2016, 13:14 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 427
Репутация: 60 ±
Замечаний: 0% ±

Excel 2010
Миллион способов. Вот самый легкий лично для меня

[vba]
Код
Public Function N2L(S As String) As String

N2L = S

For i = 0 To 32
    N2L = Replace(N2L, Chr(Asc("À") + i), i + 1)
Next i

End Function
[/vba]

UPD. Только название функции неправильное ... лучше L2N


Сообщение отредактировал abtextime - Вторник, 05.07.2016, 13:15
 
Ответить
СообщениеМиллион способов. Вот самый легкий лично для меня

[vba]
Код
Public Function N2L(S As String) As String

N2L = S

For i = 0 To 32
    N2L = Replace(N2L, Chr(Asc("À") + i), i + 1)
Next i

End Function
[/vba]

UPD. Только название функции неправильное ... лучше L2N

Автор - abtextime
Дата добавления - 05.07.2016 в 13:14
lamak58 Дата: Вторник, 05.07.2016, 15:49 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
таблица соответствия не пойдет, таких файлов много и они обновляются каждый день
КОДСИМВ() - не подскажете как конкретно задействовать?
abtextime

попробовал,не получилось %) .

вот приложил файл-образец.
нужен код,который бы менял буквы на цифры только в ячейках вида "№ 51-41А "
К сообщению приложен файл: _5-7-.xls(34Kb)
 
Ответить
Сообщениетаблица соответствия не пойдет, таких файлов много и они обновляются каждый день
КОДСИМВ() - не подскажете как конкретно задействовать?
abtextime

попробовал,не получилось %) .

вот приложил файл-образец.
нужен код,который бы менял буквы на цифры только в ячейках вида "№ 51-41А "

Автор - lamak58
Дата добавления - 05.07.2016 в 15:49
abtextime Дата: Вторник, 05.07.2016, 16:18 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 427
Репутация: 60 ±
Замечаний: 0% ±

Excel 2010
Запускайте макрос L2NSub

[vba]
Код
Public Function L2N(S As String) As String

L2N = S

For i = 0 To 32
    CA = Chr(Asc("A") + i)
    L2N = Replace(L2N, Chr(Asc("A") + i), (i + 1) & "")
Next i

End Function

Public Sub L2NSub()

For Each R In ActiveSheet.UsedRange
    R.Value = L2N(R.Value)
Next

End Sub
[/vba]
К сообщению приложен файл: _5-7-.xlsm(17Kb)


Сообщение отредактировал abtextime - Вторник, 05.07.2016, 16:19
 
Ответить
СообщениеЗапускайте макрос L2NSub

[vba]
Код
Public Function L2N(S As String) As String

L2N = S

For i = 0 To 32
    CA = Chr(Asc("A") + i)
    L2N = Replace(L2N, Chr(Asc("A") + i), (i + 1) & "")
Next i

End Function

Public Sub L2NSub()

For Each R In ActiveSheet.UsedRange
    R.Value = L2N(R.Value)
Next

End Sub
[/vba]

Автор - abtextime
Дата добавления - 05.07.2016 в 16:18
lamak58 Дата: Вторник, 05.07.2016, 18:14 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
попробовал ваш файл,не работает.
 
Ответить
Сообщениепопробовал ваш файл,не работает.

Автор - lamak58
Дата добавления - 05.07.2016 в 18:14
abtextime Дата: Вторник, 05.07.2016, 18:27 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 427
Репутация: 60 ±
Замечаний: 0% ±

Excel 2010
Может, не тот файл вложил, смотрите

[vba]
Код
Public Function L2N(S As String) As String

L2N = S

For i = 0 To 32
    CA = Chr(Asc("А") + i)
    L2N = Replace(L2N, Chr(Asc("А") + i), (i + 1) & "")
Next i

End Function

Public Sub L2NSub()

For Each R In ActiveSheet.UsedRange
    R.Value = L2N(R.Value)
Next

End Sub
[/vba]
К сообщению приложен файл: _5-7-2-.xlsm(18Kb)


Сообщение отредактировал abtextime - Вторник, 05.07.2016, 18:29
 
Ответить
СообщениеМожет, не тот файл вложил, смотрите

[vba]
Код
Public Function L2N(S As String) As String

L2N = S

For i = 0 To 32
    CA = Chr(Asc("А") + i)
    L2N = Replace(L2N, Chr(Asc("А") + i), (i + 1) & "")
Next i

End Function

Public Sub L2NSub()

For Each R In ActiveSheet.UsedRange
    R.Value = L2N(R.Value)
Next

End Sub
[/vba]

Автор - abtextime
Дата добавления - 05.07.2016 в 18:27
lamak58 Дата: Среда, 06.07.2016, 18:33 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
работает,но меняет буквы вообще везде где только видит :(


Сообщение отредактировал lamak58 - Среда, 06.07.2016, 18:35
 
Ответить
Сообщениеработает,но меняет буквы вообще везде где только видит :(

Автор - lamak58
Дата добавления - 06.07.2016 в 18:33
abtextime Дата: Среда, 06.07.2016, 18:46 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 427
Репутация: 60 ±
Замечаний: 0% ±

Excel 2010
меняет буквы вообще везде

Критерий уточните - где надо буквы менять, где не надо. Может быть, только в тех ячейках, где первый символ "№" ?

Тогда так
[vba]
Код

Public Function L2N(S As String) As String

L2N = S

For i = 0 To 32
    CA = Chr(Asc("А") + i)
    L2N = Replace(L2N, Chr(Asc("А") + i), (i + 1) & "")
Next i

End Function

Public Sub L2NSub()

For Each R In ActiveSheet.UsedRange
    If Left(R.Value, 1) = "№" Then R.Value = L2N(R.Value)
Next

End Sub
[/vba]
К сообщению приложен файл: _5-7-2-1-.xlsm(18Kb)
 
Ответить
Сообщение
меняет буквы вообще везде

Критерий уточните - где надо буквы менять, где не надо. Может быть, только в тех ячейках, где первый символ "№" ?

Тогда так
[vba]
Код

Public Function L2N(S As String) As String

L2N = S

For i = 0 To 32
    CA = Chr(Asc("А") + i)
    L2N = Replace(L2N, Chr(Asc("А") + i), (i + 1) & "")
Next i

End Function

Public Sub L2NSub()

For Each R In ActiveSheet.UsedRange
    If Left(R.Value, 1) = "№" Then R.Value = L2N(R.Value)
Next

End Sub
[/vba]

Автор - abtextime
Дата добавления - 06.07.2016 в 18:46
lamak58 Дата: Четверг, 07.07.2016, 10:22 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
премного благодарен,работает как часы ! hands
 
Ответить
Сообщениепремного благодарен,работает как часы ! hands

Автор - lamak58
Дата добавления - 07.07.2016 в 10:22
Мир MS Excel » Вопросы и решения » Вопросы по VBA » замена букв на соответствующие числа (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!