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

Вход

Регистрация

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

 

= Мир MS Excel/Добавить определённое количество символов в ячейку - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Добавить определённое количество символов в ячейку
AVI Дата: Пятница, 05.10.2018, 10:57 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация: 17 ±
Замечаний: 0% ±

Excel 2016
Добрый день!
В столбце D число с количеством цифр от 7 до 12-ти
Мне необходимо в столбец Е добавить эти же числа так, что бы общее их количество было 13, а недостающие заменить нулями в начале числа.
То есть 41533892 должно поменяться на 0000041533892, а 31404053 на 0000031404053
Формулой получается так
Код
=ПОВТОР("0";13-ДЛСТР(D3))&D3


А как добавлять определенное количество нулей в код я не знаю
[vba]
Код
Sub ffff()
    ar = Cells(Rows.Count, 4).End(xlUp).Row
    For i = 3 To ar
    Cells(i, 5) = CStr(13 - Len(Trim(Cells(i, 4))) & Trim(Cells(i, 4)))
    Next i
End Sub
[/vba]
Я определил сколько нулей добавить, но как заставить их добавиться я не знаю
К сообщению приложен файл: 9217756.xlsm (14.5 Kb)
 
Ответить
СообщениеДобрый день!
В столбце D число с количеством цифр от 7 до 12-ти
Мне необходимо в столбец Е добавить эти же числа так, что бы общее их количество было 13, а недостающие заменить нулями в начале числа.
То есть 41533892 должно поменяться на 0000041533892, а 31404053 на 0000031404053
Формулой получается так
Код
=ПОВТОР("0";13-ДЛСТР(D3))&D3


А как добавлять определенное количество нулей в код я не знаю
[vba]
Код
Sub ffff()
    ar = Cells(Rows.Count, 4).End(xlUp).Row
    For i = 3 To ar
    Cells(i, 5) = CStr(13 - Len(Trim(Cells(i, 4))) & Trim(Cells(i, 4)))
    Next i
End Sub
[/vba]
Я определил сколько нулей добавить, но как заставить их добавиться я не знаю

Автор - AVI
Дата добавления - 05.10.2018 в 10:57
StoTisteg Дата: Пятница, 05.10.2018, 11:13 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Cells(i, 5)=Cstr(Trim(Cells(i, 5)))
For j=13 to Len(Cells(i, 5).Value) Step -1
Cells(i, 5)="0" & Cells(i, 5)
Next j
[/vba]Не проверял, но попробуйте, должно работать


Интуитивно понятный код - это когда интуитивно понятно, что это код.

Сообщение отредактировал StoTisteg - Пятница, 05.10.2018, 11:15
 
Ответить
Сообщение[vba]
Код
Cells(i, 5)=Cstr(Trim(Cells(i, 5)))
For j=13 to Len(Cells(i, 5).Value) Step -1
Cells(i, 5)="0" & Cells(i, 5)
Next j
[/vba]Не проверял, но попробуйте, должно работать

Автор - StoTisteg
Дата добавления - 05.10.2018 в 11:13
_Boroda_ Дата: Пятница, 05.10.2018, 11:31 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Обязательно реально нули добавить? Просто поставить формат "0000000000000" не подойдет?

Макросом можно так
[vba]
Код
Sub tt()
    ar = Cells(Rows.Count, 4).End(xlUp).Row
    For i = 3 To ar
        Cells(i, 5) = Format(Cells(i, 4), "'0000000000000")
    Next i
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеОбязательно реально нули добавить? Просто поставить формат "0000000000000" не подойдет?

Макросом можно так
[vba]
Код
Sub tt()
    ar = Cells(Rows.Count, 4).End(xlUp).Row
    For i = 3 To ar
        Cells(i, 5) = Format(Cells(i, 4), "'0000000000000")
    Next i
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 05.10.2018 в 11:31
AVI Дата: Пятница, 05.10.2018, 11:53 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация: 17 ±
Замечаний: 0% ±

Excel 2016
_Boroda_, Е-мае, точно. Спасибо.
 
Ответить
Сообщение_Boroda_, Е-мае, точно. Спасибо.

Автор - AVI
Дата добавления - 05.10.2018 в 11:53
  • Страница 1 из 1
  • 1
Поиск:

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