Как сделать сайт:
  HTML
  JavaScript
  PHP
  CMS
Microsoft Office:
  Word
  Excel
  VBA
Просто о сложном
Список форумов on-line-teaching.com on-line-teaching.com
Онлайн курсы MS Office: Word, Excell. Как сделать сайт: HTML, JS, PHP
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Подскажите функцию

 
Начать новую тему   Ответить на тему    Список форумов on-line-teaching.com -> Excel: общие вопросы
Предыдущая тема :: Следующая тема  
Автор Сообщение
Юрий александрович
Prizivnik - draftee
Prizivnik - draftee


Зарегистрирован: 04.06.2008
Сообщения: 1

СообщениеДобавлено: Ср Июн 04, 2008 5:02 pm    Заголовок сообщения: Подскажите функцию Ответить с цитатой

ПОМОГИТЕ!!!!
Необходимо преобразовать численное значение в текстовое1-один,2-два.Пожалуйста подскажите как это сделать, а то сам нашел функцию БАТ, но непонятно для кого преобразование на тайский язык
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AsIs
captain
captain


Зарегистрирован: 27.01.2006
Сообщения: 250
Откуда: СПб

СообщениеДобавлено: Чт Июн 05, 2008 1:22 pm    Заголовок сообщения: Ответить с цитатой

Стандартной функции нет. Нужно воспользоваться поиском (что-то типа Число прописью) чтобы найти в интернете надстройку для Excel, которая выполняет преобразование числа в текст. Такая надстройка существует. И даже по-моему на этом форуме уже это обсуждалось.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
abcde
Rjadovoj - the ranks
Rjadovoj - the ranks


Зарегистрирован: 12.07.2008
Сообщения: 12
Откуда: Беларусь

СообщениеДобавлено: Сб Июл 12, 2008 6:18 pm    Заголовок сообщения: Ответить с цитатой

Попробуйте эту функцию.

' Public domain by Банников Сергей, Омега Плюс
' E-mail: s.bannik@relcom.ru
' Представление числа прописью на русском языке.
' Поддержка целых чисел типа Long во всем диапазоне
'
Private Skl As Byte

Public Function NumStr(N As Long) As String
Dim s As String

s = ""
If N < 0 Then
N = Abs(N)
s = "минус"
End If
If N > 1000000000 Then
s = AddStr(s, NumStr2(N \ 1000000000, True))
Select Case Skl
Case 0
s = AddStr(s, "миллиард")
Case 1
s = AddStr(s, "миллиарда")
Case 2
s = AddStr(s, "миллиардов")
End Select
N = N Mod 1000000000
End If
If N > 1000000 Then
s = AddStr(s, NumStr2(N \ 1000000, True))
Select Case Skl
Case 0
s = AddStr(s, "миллион")
Case 1
s = AddStr(s, "миллиона")
Case 2
s = AddStr(s, "миллионов")
End Select
N = N Mod 1000000
End If
If N > 1000 Then
s = AddStr(s, NumStr2(N \ 1000, False))
Select Case Skl
Case 0
s = AddStr(s, "тысяча")
Case 1
s = AddStr(s, "тысячи")
Case 2
s = AddStr(s, "тысяч")
End Select
N = N Mod 1000
End If
If N > 0 Then
s = AddStr(s, NumStr2(N, True))
End If
If s = "" Then
s = "ноль"
End If
NumStr = StrConv(Mid(s, 1, 1), vbUpperCase) + Mid(s, 2, Len(s) - 1)
End Function

Private Function NumStr2(N As Long, male As Boolean) As String
Dim s As String
s = ""
If N >= 100 Then
s = NumStr1((Int(N / 100) * 100), male)
N = N Mod 100
End If
If N >= 20 Then
s = AddStr(s, NumStr1((Int(N / 10) * 10), male))
N = N Mod 10
End If
NumStr2 = AddStr(s, NumStr1(N, male))
End Function

Private Function NumStr1(N As Long, male As Boolean) As String
Skl = 2
Select Case N
Case 100
NumStr1 = "сто"
Case 200
NumStr1 = "двести"
Case 300
NumStr1 = "триста"
Case 400
NumStr1 = "четыреста"
Case 500
NumStr1 = "пятьсот"
Case 600
NumStr1 = "шестьсот"
Case 700
NumStr1 = "семьсот"
Case 800
NumStr1 = "восемьсот"
Case 900
NumStr1 = "девятьсот"
Case 11
NumStr1 = "одиннадцать"
Case 12
NumStr1 = "двенадцать"
Case 13
NumStr1 = "тринадцать"
Case 14
NumStr1 = "четырнадцать"
Case 15
NumStr1 = "пятнадцать"
Case 16
NumStr1 = "шестьнадцать"
Case 17
NumStr1 = "семнадцать"
Case 18
NumStr1 = "восемнадцать"
Case 19
NumStr1 = "девятнадцать"
Case 20
NumStr1 = "двадцать"
Case 30
NumStr1 = "тридцать"
Case 40
NumStr1 = "сорок"
Case 50
NumStr1 = "пятьдесят"
Case 60
NumStr1 = "шестьдесят"
Case 70
NumStr1 = "семьдесят"
Case 80
NumStr1 = "восемьдесят"
Case 90
NumStr1 = "девяносто"
Case 1
Skl = 0
If male Then
NumStr1 = "один"
Else
NumStr1 = "одна"
End If
Case 2
Skl = 1
If male Then
NumStr1 = "два"
Else
NumStr1 = "две"
End If
Case 3
Skl = 1
NumStr1 = "три"
Case 4
Skl = 1
NumStr1 = "четыре"
Case 5
NumStr1 = "пять"
Case 6
NumStr1 = "шесть"
Case 7
NumStr1 = "семь"
Case 8
NumStr1 = "восемь"
Case 9
NumStr1 = "девять"
Case 10
NumStr1 = "десять"
End Select
End Function

Private Function AddStr(S1 As String, S2 As String)
If S1 = "" Then
AddStr = S2
ElseIf S2 = "" Then
AddStr = S1
Else
AddStr = S1 + " " + S2
End If
End Function
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AsIs
captain
captain


Зарегистрирован: 27.01.2006
Сообщения: 250
Откуда: СПб

СообщениеДобавлено: Чт Июл 17, 2008 5:48 pm    Заголовок сообщения: Ответить с цитатой

Совет 227. Представление числового значения прописью
http://www.microsoft.com/Rus/Msdn/Activ/MSVB/Archive/Data/227.mspx

Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов on-line-teaching.com -> Excel: общие вопросы Часовой пояс: GMT + 2
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB