Страницы: 1
RSS
Отображение числа, Цифру написать прописью.
 
Здравствуйте, есть часть макроса:

With doc_res.Range.Find
       .Text = "//TEXT//"
       .Replacement.Text = row_src.Range("I1")
       .MatchWholeWord = True
       .MatchCase = True
       .Replacement.Highlight = False
       .Execute Replace:=2
   
End With
Соответственно тут число  в виде 555,55 из книги Exel копируется в Word в  том же виде.
Что изменить в коде VBA чтобы число копировалось в  Word в виде 555 рублей 55 копеек.
И если возможно падеж рублей/рубль копеек/копейки соблюдался автоматически, но это необязательно :).
 
Примените к части макроса
Код
.Replacement.Text = row_src.Range("I1")

решение отсюда.
 
Цитата
написал:
Примените к части макроса
Спасибо большое, извините за тупость, а как прописать эту формулу в макрос:
With doc_res.Range.Find
      .Text = "//TEXT//"
      .Replacement.Text = row_src.Range("=ПОДСТАВИТЬ(ПРОПНАЧ(ИНДЕКС(n_4;ПСТР(ТЕКСТ(I1;n0);1;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(I1;n0);2;1)+1;ПСТР(ТЕКСТ(I1;n0);3;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(I1;n0);1;3);"миллиард"&ВПР(ПСТР(ТЕКСТ(I1;n0);3;1)*И(ПСТР(ТЕКСТ(I1;n0);2;1)-1);мил;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(I1;n0);4;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(I1;n0);5;1)+1;ПСТР(ТЕКСТ(I1;n0);6;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(I1;n0);4;3);"миллион"&ВПР(ПСТР(ТЕКСТ(I1;n0);6;1)*И(ПСТР(ТЕКСТ(I1;n0);5;1)-1);мил;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(I1;n0);7;1)+1)&ИНДЕКС(n1x;ПСТР(ТЕКСТ(I1;n0);8;1)+1;ПСТР(ТЕКСТ(I1;n0);9;1)+1)&ЕСЛИ(-ПСТР(ТЕКСТ(I1;n0);7;3);ВПР(ПСТР(ТЕКСТ(I1;n0);9;1)*И(ПСТР(ТЕКСТ(I1;n0);8;1)-1);тыс;2);"")&ИНДЕКС(n_4;ПСТР(ТЕКСТ(I1;n0);10;1)+1)&ИНДЕКС(n0x;ПСТР(ТЕКСТ(I1;n0);11;1)+1;ПСТР(ТЕКСТ(I1;n0);12;1)+1));"z";" ")&ЕСЛИ(ОТБР(ТЕКСТ(I1;n0));"";"Ноль ")&"рубл"&ВПР(ОСТАТ(МАКС(ОСТАТ(ПСТР(ТЕКСТ(I1;n0);11;2)-11;100);9);10);{0;"ь ":1;"я ":4;"ей "};2)&ПРАВСИМВ(ТЕКСТ(I1;n0);2)&" копе"&ВПР(ОСТАТ(МАКС(ОСТАТ(ПРАВСИМВ(ТЕКСТ(I1;n0);2)-11;100);9);10);{0;"йка":1;"йки":4;"ек"};2)")
      .MatchWholeWord = True
      .MatchCase = True
      .Replacement.Highlight = False
      .Execute Replace:=2

В таком виде не работает :(.

 
Простите за тупость, но зачем вам в макросе формула? В той теме что, макросов мало?
 
Вот ТУТ посмотрите, если целиком прописью писать не нужно, то отредактируйте под свои нужды (прочитайте с комментариями)
 
Цитата
написал:
.Replacement.Text = row_src.Range("I1")
Модуль вставил.
Подобная формула исполняется на листе:
=sumInWords_RU(H8;"";"";"";1)
А как мне правильно вставит ее в мой макрос? В таком виде не работает(((

With doc_res.Range.Find
       .Text = "//TEXT//"
       .Replacement.Text = row_src.Range("sumInWords_RU(I1;"";"";"";1)").Value
       .MatchWholeWord = True
       .MatchCase = True
       .Replacement.Highlight = False
       .Execute Replace:=2
   End With

Помогите пжлст.
 
дубль в разделе Работа
А если так
Код
With doc_res.Range.Find
       .Text = "//TEXT//"
       .Replacement.Text = sumInWords_RU(row_src.Range("I1").Value)
       .MatchWholeWord = True
       .MatchCase = True
       .Replacement.Highlight = False
       .Execute Replace:=2
   End With

Код макроса на форуме нужно оформлять вот так (см. картинку)
Изменено: New - 08.09.2022 23:17:04
 
Цитата
написал:
дубль в разделе Работа
А если так
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8      With   doc_res.Range.Find             .Text =   "//TEXT//"             .Replacement.Text = sumInWords_RU(row_src.Range(  "I1"  ).Value)             .MatchWholeWord =   True             .MatchCase =   True             .Replacement.Highlight =   False             .Execute Replace:=2         End   With   
 
Код макроса на форуме нужно оформлять вот так (см. картинку)
Так и подсказали спасибо!
Страницы: 1
Наверх