„ерногори€ против –оссии: кто здесь враг народа? / Ќикола  осович

 -ѕодписка по e-mail

 
ѕолучать сообщени€ дневника на почту.

 -ѕоиск по дневнику

люди, музыка, видео, фото
ѕоиск сообщений в Lyuciena

 -ѕосто€нные читатели

 -—ообщества

”частник сообществ (¬сего в списке: 2) в€залочки ¬€зание
„итатель сообществ (¬сего в списке: 1) —сылочки_мал€там

 -—татистика

—татистика LiveInternet.ru: показано количество хитов и посетителей
ƒата регистрации: 21.05.2004
«аписей в дневнике: 71
 омментариев в дневнике: 33
Ќаписано сообщений: 157
ѕопул€рные отчеты:
кто смотрел дневник по каким фразам приход€т

цифры прописью в Excel- макрос

¬оскресенье, 20 ћа€ 2007 г. 22:53 + в цитатник
јвтор функции - ѕ.¬. ћорозов
2. “ребуетс€ Excel 97 и выше, а также установленный и интегрированный в него редактор Visual Basic - обычно у всех установлен.
ѕуть:
ќткрыть Excel. ¬ыбрать пункт меню: —ервис-ћакрос-–едактор Visual Basic.
¬ нем пункт меню: вставка-модуль.
ќткроетс€  нига1 модул€.
¬ этот лист вставить (или набрать) текст, который будет идти ниже - в комментарии. ѕросто выделите его и вставьте целиком, ничего не исправл€€.

3. ѕосле того, как текст введен, нажать кнопку сохранить. ¬ нижнем выпадающем списке выбрать тип файла: надстройка Microsoft Excel. »м€ файла заменить на (например) —уммаѕрописью и сохранить в папке ћои документы.
4. «акрыть редактор и Excel.
5. ќп€ть открыть Excel Ц сервис- надстройки- обзор Ц найти в ћои документы —уммаѕрописью, дважды щелкнуть, убедитьс€, что напротив надстройки стоит галочка и нажать ќ .
6. ¬вести в €чейку, например, D1, число: 789 456 321,85.
¬ыделить другую €чейку, где вы ходите видеть это число прописью.
¬ставка Ц функци€, выбрать категорию ќпределенные пользователем Ц там будет одна функци€ ѕ–ќѕ»—№ё, выбрать ее и нажать ќ . ѕо€витс€ окно ввода аргумента, в поле SorceDigits ввести адрес €чейки D1, где находитс€ число Ц можно просто выделить эту €чейку, и ее адрес сам по€витс€ в поле, потом нажать ќ . ≈сли текст введен правильно, все получитс€!
«амечани€ по самому тексту:
1. ѕустые строки в тексте и абзацы значени€ не имеют. ѕросто так удобнее дл€ визуального воспри€ти€.
2. ѕосле каждого русского слова в кавычках, нужно оставл€ть пробел, чтобы текст не был слитным. ѕример Удес€ть У. ¬ слове коп.пробел делать перед ним.
3. ѕосле сохранени€, если все будет правильно, ключевые слова будут синего цвета. ≈сли будет ошибка Ц красного. (” мен€ на домашнем компе Ђкривойї ексель, и цветом ничего не выделилось, но функци€ сама действует).
4. ќграничение дл€ функции - миллионы.
5.  ќпейки округл€ютс€ до сотых.
6. ћожно помен€ть рубль, рубл€, рублей и коп. на доллары и цент. соответственно. „тобы не запутатьс€ в двух ѕ–ќѕ»—№ё, во втором тексте в начале и конце текста в слове ѕ–ќѕ»—№ё убрать букву ё (например, тогда ѕ–ќѕ»—№ё будет дл€ рублей, а ѕ–ќѕ»—№ дл€ баксов).
—ама функци€ в комментарии.

Lyuciena   обратитьс€ по имени ¬оскресенье, 20 ћа€ 2007 г. 22:55 (ссылка)
Function ѕ–ќѕ»—№ё (SourceDigits As Currency) As String
Dim STRNG As String, CHAR, Result As String, Prom As String
Dim I, STRNG_len As Long
Dim SourceDigTail As Currency

SourceDigTail = (SourceDigits Ц Int (SourceDigits)) * 100
SourceDigits = Int (SourceDigits)

STRNG = SourceDigits
STRNG_len = Len (STRNG)
For i = 1 To 9 - STRNG_len Step 1
STRNG = У0Ф & STRNG
Next i

For i = 9 To 9 - STRNG_len + 1 Step -1
CHAR = Mid (STRNG, i, 1)
If CHAR = УФ Then GoTo end_c

If i = 2 Or i = 5 Or i = 8 Then
IF CHAR = У1Ф Then
CHAR = Mid (STRNG, i, 2)
Select Case CHAR
Case У10Ф
Prom = Удес€ть Ф
Case У11Ф
Prom = Уодиннадцать Ф
Case У12Ф
Prom = Удвенадцать Ф
Case У13Ф
Prom = Утринадцать Ф
Case У14Ф
Prom = Учетырнадцать Ф
Case У15Ф
Prom = Уп€тнадцать Ф
Case У16Ф
Prom = Ушестнадцать Ф
Case У17Ф
Prom = Усемнадцать Ф
Case У18Ф
Prom = Увосемнадцать Ф
Case У19Ф
Prom = Удев€тнадцать Ф
End Select
Else С If char Not = 1
Select Case CHAR
Case У0Ф
Prom = У Ф
Case У2Ф
Prom = Удвадцать Ф
Case У3Ф
Prom = Утридцать Ф
Case У4Ф
Prom = Усорок Ф
Case У5Ф
Prom = Уп€тьдес€т Ф
Case У6Ф
Prom = Ушестьдес€т Ф
Case У7Ф
Prom = Усемьдес€т Ф
Case У8Ф
Prom = Увосемьдес€т Ф
Case У9Ф
Prom = Удев€носто Ф
End Select
End If
End If
If i = 1 Or i = 4 Or i = 7 Then
Select Case CHAR
Case У0Ф
Prom = УФ
Case У1Ф
Prom = Усто Ф
Case У2Ф
Prom = Удвести Ф
Case У3Ф
Prom = Утриста Ф
Case У4Ф
Prom = Учетыреста Ф
Case У5Ф
Prom = Уп€тьсот Ф
Case У6Ф
Prom = Ушестьсот Ф
Case У7Ф
Prom = Усемьсот Ф
Case У9Ф
Prom = Удев€тьсот Ф
End Select
End If
If i = 3 Or i = 6 Or i = 9 Then

If i = 9 And Mid (STRNG, i - 1, 1) = У1Ф Then
Result = Урублей Ф & Result
GoTo end_c
End If



If i = 3 And Mid (STRNG, i - 1, 1) = У1Ф Then
Result = Умиллионов Ф & Result
GoTo end_c
End If



If i = 6 And Mid (STRNG, i - 1, 1) = У1Ф Then
Result = Утыс€ч Ф & Result
GoTo end_c
End If

Select Case CHAR
Case У0Ф
Prom = УФ
Case У1Ф
If i = 6 Then
Prom = Уодна Ф
Else
Prom = Уодин Ф

End If
Case У2Ф

If i = 6 Then
Prom = Удве Ф
Else
Prom = Удва Ф
End If
Case У3Ф
Prom = Утри Ф

Case У4Ф
Prom = Учетыре Ф
Case У5Ф
Prom = Уп€ть Ф
Case У6Ф
Prom = Ушесть Ф
Case У7Ф
Prom = Усемь Ф
Case У8Ф
Prom = Увосемь Ф
Case У9Ф
Prom = Удев€ть Ф
End Select
End If
Select Case i

Case 3
Select Case CHAR
Case У1Ф
Result = Умиллион Ф & Result
Case У2Ф , У3Ф, У4Ф
Result = Умиллиона Ф & Result
Case У5Ф, У6Ф, У7Ф, У8Ф , У9Ф
Result = Умиллионов Ф & Result
Case У0Ф
If STRNG_len > 6 Then
Result = Умиллионов Ф & Result
End If
End Select


Case 6
Select Case CHAR
Case У1Ф
Result = Утыс€ча Ф & Result
Case У2Ф, У3Ф, У4Ф
Result = Утыс€чи Ф & Result
Case У5Ф, У6Ф, У7Ф, У8Ф , У9Ф
Result = Утыс€ч Ф & Result
Case У0Ф
If STRNG_len > 3 Then
Result = Утыс€ч Ф & Result
End If
End Select

Case 9
Select Case CHAR
Case У1Ф
Result = Урубль Ф & Result
Case У2Ф , У3Ф, У4Ф
Result = Урубл€ Ф & Result
Case У0Ф, У5Ф, У6Ф, У7Ф , У8Ф , У9Ф
Result = Урублей Ф & Result
End Select
End Select

Result = Prom & Result

end_c:
Next i

Result = Format(Mid(Result, 1, 1), У>Ф ) & Mid (Result, 2)

ѕ–ќѕ»—№ё = Result & Format (SourceDigTail, У00Ф) & У коп.Ф

End Function
ќтветить — цитатой ¬ цитатник
јноним   обратитьс€ по имени ¬оскресенье, 04 ћа€ 2008 г. 22:51 (ссылка)
–аботает отлично. я белорусизировал. Ќо был пропущен разр€д "восемьсот". Ќе шибко разбира€сь в бейсике у себ€ ошибку исправил .
— уважением
јлександр
slabada@tut.by
ќтветить — цитатой ¬ цитатник    |    Ќе показывать комментарий
Lyuciena   обратитьс€ по имени ѕонедельник, 05 ћа€ 2008 г. 22:22 (ссылка)
ј! “очно, пропущен. —пасибо, јлександр.
Ќо принцип же пон€тен ))
ќтветить — цитатой ¬ цитатник
јноним   обратитьс€ по имени ѕ€тница, 29 ћа€ 2009 г. 17:42 (ссылка)
—пасибо за программу отлично работает

јлишер “ашкент.
ќтветить — цитатой ¬ цитатник    |    Ќе показывать комментарий
јноним   обратитьс€ по имени „етверг, 11 »юн€ 2009 г. 14:24 (ссылка)
ѕ–ќѕ»—№ё(1000000) возвращает "ќдин миллион “џ—я„ рублей 00 коп."

Ќа скорую руку исправил фрагмент:

Case "0"
If STRNG_len > 3 Then
Result = "тыс€ч " & Result
End If

придав ему вид:


Case "0"
If STRNG_len > 3 And Left(Right(STRNG, 6), 3) <> "000" Then
Result = "тыс€ч " & Result
End If

¬роде лишнее слово "тыс€ч" перестало возникать.

≈ще хорошо бы в самое начало функции добавить строку:

Application.Volatile

зачем - почитайте в хелпе Excel :)

ј вообще - большое спасибо! ѕригодилась ¬аша разработочка.

— уважением,
 онстантин, —-ѕетербург
ќтветить — цитатой ¬ цитатник    |    Ќе показывать комментарий
Lyuciena   обратитьс€ по имени „етверг, 18 »юн€ 2009 г. 00:55 (ссылка)
 онстантин, на здоровье )
“олько она не мо€ - автор некий ѕ.¬.ћорозов.  огда-то € это вз€ла из какого-то забытого журнала...
ќтветить — цитатой ¬ цитатник
јноним   обратитьс€ по имени ѕ€тница, 25 —ент€бр€ 2009 г. 12:45 (ссылка)
«дравствуйте,

когда хочу сохранить модуль, в списке ниже нет формата надстроек....как быть?
ќтветить — цитатой ¬ цитатник    |    Ќе показывать комментарий
јноним   обратитьс€ по имени „етверг, 19 јвгуста 2010 г. 18:42 (ссылка)
ѕри выполнении макроса возникает сообщение: SyntaxError и подсвечивает строку: SourceDigTail = (SourceDigits Ц Int (SourceDigits)) * 100
ќтветить — цитатой ¬ цитатник    |    Ќе показывать комментарий
Lyuciena   обратитьс€ по имени —реда, 25 јвгуста 2010 г. 22:30 (ссылка)
–еб€та - € в этом ни фига не понимаю, € не программист. ѕросто тупо списала как сказано в эксель - и у мен€ все получилось, поэтому решила поделитьс€, так как очень удобна€ штука оказалась.

—прашивайте у ваших сисадминов - они-то вс€ко больше в этом разбираютс€.
ќтветить — цитатой ¬ цитатник
јноним   обратитьс€ по имени ¬оскресенье, 25 ћарта 2012 г. 17:39 (ссылка)

ќтвет на комментарий Lyuciena

÷ифры прописью работает! »справил все замечани€!
ќднако скопированный комментарий сразу в Excel не захотел работать! ¬ыдал кучу ошибок по синтаксису!
—охранил текст в WORDe! „ерез день снова решил испробовать. —копировал из WORDa текст и поместил в модуль Excela. ¬се сразу заработало! ѕри пр€мом копировании очень много получилось нераспознанных строк и символов, а из WORDa - все нормально!!
ќтветить — цитатой ¬ цитатник    |    Ќе показывать комментарий
Lyuciena   обратитьс€ по имени ¬оскресенье, 25 ћарта 2012 г. 19:49 (ссылка)
Ќу и замечательно, что еще пригождаетс€ )
ќтветить — цитатой ¬ цитатник
јноним   обратитьс€ по имени ¬оскресенье, 05 ћа€ 2013 г. 05:48 (ссылка)
¬озникла еще необходимость на украинском €зыке число прописью, нашел только тут: http://propisu.ru.
” кого нить есть код?
ќтветить — цитатой ¬ цитатник    |    Ќе показывать комментарий
 омментировать   дневнику —траницы: [1] [Ќовые]
 

ƒобавить комментарий:
“екст комментари€: смайлики

ѕроверка орфографии: (найти ошибки)

ѕрикрепить картинку:

 ѕереводить URL в ссылку
 ѕодписатьс€ на комментарии
 ѕодписать картинку