Добавление буквы в строку в зависмости от длины строки
Volodya
Дата: Понедельник, 23.04.2018, 10:17 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Приветствую! Нужен макрос, который будет определять количество символов в строке и добавлять\не добавлять доп.знаки. Например: есть столбец с номером маршрута. Количество цифр варьируется от 1 до 3. Если номер маршрута "1", то макрос должен заменить "1" на "W001", если номер маршрута "11", макрос должен заменить "11" на "W011", если номер маршрута "111", нужно заменить на "W111" В голове было примерно так, но сам понимаю, что не то. Других идей нет. [vba]Код
Dim StrA As String Dim StrB As String StrA="W"&"00"
[/vba]
Приветствую! Нужен макрос, который будет определять количество символов в строке и добавлять\не добавлять доп.знаки. Например: есть столбец с номером маршрута. Количество цифр варьируется от 1 до 3. Если номер маршрута "1", то макрос должен заменить "1" на "W001", если номер маршрута "11", макрос должен заменить "11" на "W011", если номер маршрута "111", нужно заменить на "W111" В голове было примерно так, но сам понимаю, что не то. Других идей нет. [vba]Код
Dim StrA As String Dim StrB As String StrA="W"&"00"
[/vba] Volodya
Сообщение отредактировал Volodya - Понедельник, 23.04.2018, 10:43
Ответить
Сообщение Приветствую! Нужен макрос, который будет определять количество символов в строке и добавлять\не добавлять доп.знаки. Например: есть столбец с номером маршрута. Количество цифр варьируется от 1 до 3. Если номер маршрута "1", то макрос должен заменить "1" на "W001", если номер маршрута "11", макрос должен заменить "11" на "W011", если номер маршрута "111", нужно заменить на "W111" В голове было примерно так, но сам понимаю, что не то. Других идей нет. [vba]Код
Dim StrA As String Dim StrB As String StrA="W"&"00"
[/vba] Автор - Volodya Дата добавления - 23.04.2018 в 10:17
and_evg
Дата: Понедельник, 23.04.2018, 10:21 |
Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация:
78
±
Замечаний:
0% ±
Excel 2007
И вам здравствуйте. А просто формат ячейки "W"000 не подойдет?
И вам здравствуйте. А просто формат ячейки "W"000 не подойдет? and_evg
Ответить
Сообщение И вам здравствуйте. А просто формат ячейки "W"000 не подойдет? Автор - and_evg Дата добавления - 23.04.2018 в 10:21
Volodya
Дата: Понедельник, 23.04.2018, 10:42 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
and_evg, Здравствуйте! Приветствие отвалилось куда-то. Не знаю, не пробовал, не думал даже об этом. А как это можно связать с длинной строки?
and_evg, Здравствуйте! Приветствие отвалилось куда-то. Не знаю, не пробовал, не думал даже об этом. А как это можно связать с длинной строки? Volodya
Ответить
Сообщение and_evg, Здравствуйте! Приветствие отвалилось куда-то. Не знаю, не пробовал, не думал даже об этом. А как это можно связать с длинной строки? Автор - Volodya Дата добавления - 23.04.2018 в 10:42
Volodya
Дата: Понедельник, 23.04.2018, 11:01 |
Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
and_evg, все, спасибо, стыдно мне должно быть. Но мне не стыдно.
and_evg, все, спасибо, стыдно мне должно быть. Но мне не стыдно. Volodya
Ответить
Сообщение and_evg, все, спасибо, стыдно мне должно быть. Но мне не стыдно. Автор - Volodya Дата добавления - 23.04.2018 в 11:01
and_evg
Дата: Понедельник, 23.04.2018, 11:43 |
Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация:
78
±
Замечаний:
0% ±
Excel 2007
А как это можно связать с длинной строки?
длина строки задана тремя нулями в формате.
А как это можно связать с длинной строки?
длина строки задана тремя нулями в формате.and_evg
Ответить
Сообщение А как это можно связать с длинной строки?
длина строки задана тремя нулями в формате.Автор - and_evg Дата добавления - 23.04.2018 в 11:43
Volodya
Дата: Понедельник, 23.04.2018, 12:30 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
and_evg, дико извиняюсь, но такой метод не подходит, так как столбец в котором я меняю формат ячеек затем сцепляется с другим столбцом, который содержит другие числа, с помощью формулы СЦЕПИТЬ(). Соответственно в конечном столбце он пишет 123\1, вместо 123\W001 и 123\11, вместо 123\W011
and_evg, дико извиняюсь, но такой метод не подходит, так как столбец в котором я меняю формат ячеек затем сцепляется с другим столбцом, который содержит другие числа, с помощью формулы СЦЕПИТЬ(). Соответственно в конечном столбце он пишет 123\1, вместо 123\W001 и 123\11, вместо 123\W011 Volodya
Сообщение отредактировал Volodya - Понедельник, 23.04.2018, 12:31
Ответить
Сообщение and_evg, дико извиняюсь, но такой метод не подходит, так как столбец в котором я меняю формат ячеек затем сцепляется с другим столбцом, который содержит другие числа, с помощью формулы СЦЕПИТЬ(). Соответственно в конечном столбце он пишет 123\1, вместо 123\W001 и 123\11, вместо 123\W011 Автор - Volodya Дата добавления - 23.04.2018 в 12:30
and_evg
Дата: Понедельник, 23.04.2018, 12:36 |
Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация:
78
±
Замечаний:
0% ±
Excel 2007
Volodya , тогда файл в студию!
Volodya , тогда файл в студию!and_evg
Ответить
Сообщение Volodya , тогда файл в студию!Автор - and_evg Дата добавления - 23.04.2018 в 12:36
and_evg
Дата: Понедельник, 23.04.2018, 12:58 |
Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация:
78
±
Замечаний:
0% ±
Excel 2007
Если без файла (да простят меня модераторы) тогда для выделенного диапазона [vba]Код
Public Sub zxcv() For Each i In Selection i.Value = "W" & String(3 - Len(i), "0") & i.Value Next End Sub
[/vba]
Если без файла (да простят меня модераторы) тогда для выделенного диапазона [vba]Код
Public Sub zxcv() For Each i In Selection i.Value = "W" & String(3 - Len(i), "0") & i.Value Next End Sub
[/vba] and_evg
Ответить
Сообщение Если без файла (да простят меня модераторы) тогда для выделенного диапазона [vba]Код
Public Sub zxcv() For Each i In Selection i.Value = "W" & String(3 - Len(i), "0") & i.Value Next End Sub
[/vba] Автор - and_evg Дата добавления - 23.04.2018 в 12:58
Апострофф
Дата: Понедельник, 23.04.2018, 13:14 |
Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 448
Репутация:
124
±
Замечаний:
0% ±
Excel 1997
Или так (без Len и String)- [vba]Код
I="W" & FORMAT$(I,"000")
[/vba]
Или так (без Len и String)- [vba]Код
I="W" & FORMAT$(I,"000")
[/vba] Апострофф
Ответить
Сообщение Или так (без Len и String)- [vba]Код
I="W" & FORMAT$(I,"000")
[/vba] Автор - Апострофф Дата добавления - 23.04.2018 в 13:14
and_evg
Дата: Понедельник, 23.04.2018, 13:17 |
Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация:
78
±
Замечаний:
0% ±
Excel 2007
Точно! А то пробовал [vba][/vba] Но W зарезервированный символ и выдавало неверный результат
Точно! А то пробовал [vba][/vba] Но W зарезервированный символ и выдавало неверный результатand_evg
Ответить
Сообщение Точно! А то пробовал [vba][/vba] Но W зарезервированный символ и выдавало неверный результатАвтор - and_evg Дата добавления - 23.04.2018 в 13:17
_Boroda_
Дата: Понедельник, 23.04.2018, 14:13 |
Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Еслистолбец ... затем сцепляется с другим столбцом, который содержит другие числа, с помощью формулы СЦЕПИТЬ()
, то напишите Ваше СЦЕПИТЬ вот такКод
=СЦЕПИТЬ(первый_столбец;ТЕКСТ(второй_столбец;"W000")
Вот такКод
=СЦЕПИТЬ(A1;ТЕКСТ(B1;"W000"))
или так И не нужны никакие макросы
Еслистолбец ... затем сцепляется с другим столбцом, который содержит другие числа, с помощью формулы СЦЕПИТЬ()
, то напишите Ваше СЦЕПИТЬ вот такКод
=СЦЕПИТЬ(первый_столбец;ТЕКСТ(второй_столбец;"W000")
Вот такКод
=СЦЕПИТЬ(A1;ТЕКСТ(B1;"W000"))
или так И не нужны никакие макросы _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Еслистолбец ... затем сцепляется с другим столбцом, который содержит другие числа, с помощью формулы СЦЕПИТЬ()
, то напишите Ваше СЦЕПИТЬ вот такКод
=СЦЕПИТЬ(первый_столбец;ТЕКСТ(второй_столбец;"W000")
Вот такКод
=СЦЕПИТЬ(A1;ТЕКСТ(B1;"W000"))
или так И не нужны никакие макросы Автор - _Boroda_ Дата добавления - 23.04.2018 в 14:13
Volodya
Дата: Понедельник, 23.04.2018, 14:14 |
Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Если без файла (да простят меня модераторы) тогда для выделенного диапазона Public Sub zxcv() For Each i In Selection i.Value = "W" & String(3 - Len(i), "0") & i.Value Next End Sub
спасибо огромное. Ваш метод сработал, получилось то, что нужно.
Если без файла (да простят меня модераторы) тогда для выделенного диапазона Public Sub zxcv() For Each i In Selection i.Value = "W" & String(3 - Len(i), "0") & i.Value Next End Sub
спасибо огромное. Ваш метод сработал, получилось то, что нужно.Volodya
Ответить
Сообщение Если без файла (да простят меня модераторы) тогда для выделенного диапазона Public Sub zxcv() For Each i In Selection i.Value = "W" & String(3 - Len(i), "0") & i.Value Next End Sub
спасибо огромное. Ваш метод сработал, получилось то, что нужно.Автор - Volodya Дата добавления - 23.04.2018 в 14:14
Volodya
Дата: Понедельник, 23.04.2018, 14:15 |
Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Апострофф, вам тоже спасибо, тоже работает
Апострофф, вам тоже спасибо, тоже работает Volodya
Ответить
Сообщение Апострофф, вам тоже спасибо, тоже работает Автор - Volodya Дата добавления - 23.04.2018 в 14:15
Volodya
Дата: Понедельник, 23.04.2018, 14:22 |
Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
_Boroda_, и так тоже работает, спасибо
_Boroda_, и так тоже работает, спасибо Volodya
Ответить
Сообщение _Boroda_, и так тоже работает, спасибо Автор - Volodya Дата добавления - 23.04.2018 в 14:22