Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Въпрос за макрос в Excel - "словом" изписване

Featured Replies

Здравейте колеги,първо, макроси никога не съм ползвал, не знам как се ползват, не знам как се пишат!За това се обръщам към вас.Представете си, един файл, след редица сметки от долу стои едно число, което представлява сбор, разлика, и всякакви такива на редица други числа. То е изведено със съответната форма. Трябва ми в клетката до него да се изписва неговата стойност словом.Демек крайната калкулация е да кажем 99.50 с клетката до тази сума да се изпише "деветдесет и девет и 0.50".Възможно ли е това да се случи по някакъв начин?Отделно, всеки нов документ представлява копиран целият преден шийт, като се променят само нужните данни и по този начин файла е един своеобразен регистър.Офис пакета на който ще се ползва, мисля, че е 2007.благодаря предварително,поздрави и лека и спокойна вечер!

Здравей, първо да уточня какво е макрос:

-Макросът е низ от думи и съдържа скриптове написани на готово и всяка дума си има под скрипт за изпълнение на таблица, заявка, форма, отчет или пък нещо друго да прави (напр. изчислителни или сортиращи функции) и тази дума се избира от потребителя. Работил съм с база данни MS Access и когато трябва да създам макрос пиша името му и избирам няколко служебни думи или пък една. Тези думи не изпълняват само функции за даден елемент но за цялата база а именно как тя да стартира и други щуротии. Ще ме извиняваш, но това е от практическа точка така го разбирам. Ken ме изпревари и като малко се зачета в писаната тема дано тя да ти помогне успех и приятна вечер!

В общи линии това се разбира под макрос, ама в Excel - макросите са програми писани на Visual Basic for Application.

  • Автор

Да, да, "бързака" си е бързак.като се разтърсих попаднах на:

Function Spell(NumStr, i)Static Units(20) As String, Decim(9) As String, Hundr(11) As String, Thous(5) As String, Thous1(5) As StringStatic Units1(20) As StringUnits(0) = ""Units(1) = "един "Units(2) = "два "Units(3) = "три "Units(4) = "четири "Units(5) = "пет "Units(6) = "шест "Units(7) = "седем "Units(8) = "осем "Units(9) = "девет "Units(10) = "десет "Units(11) = "единадесет "Units(12) = "дванадесет "Units(13) = "тринадесет "Units(14) = "четиринадесет "Units(15) = "петнадесет "Units(16) = "шестнадесет "Units(17) = "седемнадесет "Units(18) = "осемнадесет "Units(19) = "деветнадесет "Units1(0) = ""Units1(1) = "една "Units1(2) = "две "Units1(3) = "три "Units1(4) = "четири "Units1(5) = "пет "Units1(6) = "шест "Units1(7) = "седем "Units1(8) = "осем "Units1(9) = "девет "Units1(10) = "десет "Units1(11) = "единадесет "Units1(12) = "дванадесет "Units1(13) = "тринадесет "Units1(14) = "четиринадесет "Units1(15) = "петнадесет "Units1(16) = "шестнадесет "Units1(17) = "седемнадесет "Units1(18) = "осемнадесет "Units1(19) = "деветнадесет "Decim(0) = ""Decim(1) = "двадесет "Decim(2) = "тридесет "Decim(3) = "четиридесет "Decim(4) = "петдесет "Decim(5) = "шестдесет "Decim(6) = "седемдесет "Decim(7) = "осемдесет "Decim(8) = "деветдесет "Hundr(0) = ""Hundr(1) = ""Hundr(2) = "сто "Hundr(3) = "двеста "Hundr(4) = "триста "Hundr(5) = "четиристотин "Hundr(6) = "петстотин "Hundr(7) = "шестстотин "Hundr(8) = "седемстотин "Hundr(9) = "осемстотин "Hundr(10) = "деветстотин "Thous(0) = ""Thous(1) = ""Thous(2) = "хиляди "Thous(3) = "милиона "Thous(4) = "милиарда "Thous1(0) = ""Thous1(1) = ""Thous1(2) = "хиляда "Thous1(3) = "милион "Thous1(4) = "милиард "Dim Num, RetStrRetStr = ""Num = CInt(NumStr)If Num = 0 ThenSpell = RetStrExit FunctionEnd IfIf Num = 1 ThenSelect Case iCase 1RetStr = "и " & Units(1) & Thous1(1)Case 2RetStr = Thous1(2)Case ElseRetStr = Units(1) & Thous1(i)End SelectSpell = RetStrExit FunctionEnd IfRetStr = RetStr & "и " & Hundr(CInt(Left(NumStr, 1)) + 1)If CInt(Right(NumStr, 2)) = 0 ThenSpell = RetStr & Thous(i)Exit FunctionEnd IfIf Mid(NumStr, 2, 1) = "0" Or Mid(NumStr, 2, 1) = "1" ThenIf i = 2 ThenSpell = RetStr & "и " & Units1(CInt(Mid(NumStr, 2, 2))) & Thous(i)ElseSpell = RetStr & "и " & Units(CInt(Mid(NumStr, 2, 2))) & Thous(i)End IfExit FunctionEnd IfIf Right(NumStr, 1) = "0" ThenRetStr = RetStr & "и " & Decim(CInt(Mid(NumStr, 2, 1)) - 1)ElseIf i = 2 ThenRetStr = RetStr & Decim(CInt(Mid(NumStr, 2, 1)) - 1) & "и " & Units1(CInt(Right(NumStr, 1)))ElseRetStr = RetStr & Decim(CInt(Mid(NumStr, 2, 1)) - 1) & "и " & Units(CInt(Right(NumStr, 1)))End IfEnd IfSpell = RetStr & Thous(i)End FunctionFunction Slov(ByVal Num As Currency)Static c(5)Dim NumStr, NumStr1, i, kIf Not IsNull(Num) ThenNumStr = Trim(CStr(Num))If Num = 0 ThenSlov = "нула"Exit FunctionEnd IfDim Buf As String:If (Num < 0@) Then Buf = "минус " Else Buf = ""Dim Frac As Currency: Frac = Abs(Num - Fix(Num))If (Num < 0@ Or Frac <> 0@) Then Num = Abs(Fix(Num))Dim AtLeastOne As Integer: AtLeastOne = Num >= 1i = 1NumStr = NumDoIf Len(NumStr) > 3 Thenc(i) = Right$(NumStr, 3)NumStr = Left$(NumStr, Len(NumStr) - 3)i = i + 1Elsec(i) = String(3 - Len(NumStr), "0") & NumStrExit DoEnd IfLoopNumStr = ""For k = i To 1 Step -1NumStr = NumStr & Spell(c(k), k)Next kDebug.Print NumStrIf Left(NumStr, 2) = "и " ThenNumStr = Right$(NumStr, Len(NumStr) - 2)End IfIf Left(NumStr, 2) = "и " ThenNumStr = Right$(NumStr, Len(NumStr) - 2)End If'стотинкиIf (Frac = 0@) ThenBuf = BufElseIf (Int(Frac * 100@) = Frac * 100@) ThenIf AtLeastOne Then Buf = Buf & "и "Buf = Buf & Format$(Frac * 100@, "00") & " стотинки"ElseIf AtLeastOne Then Buf = Buf & "и "Buf = Buf & Format$(Frac * 100@, "00") & " стотинки"End IfSlov = NumStr & "лева " & Buf ' "лв. "End IfEnd Function
иии май работи нормално.Благодаря много на всички!

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.