Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2010, 03:10   #1
suxo
 
Регистрация: 25.05.2010
Сообщений: 8
По умолчанию пишу число, а получается не число как так?

Замысловатое название темы, но именно так.
через vba делаю следующее

Код:
Sheets("rates").Range(price) = [b5]
        With Sheets("rates").Range(price)
         aText = Split(.Text, ",")
             ReDim Preserve aText(UBound(aText) - 1)
             .Value = LCase(Join(aText))
End With
в активном листе в ячейке b5 написано 320,00 руб
кодом я отрубаю все что после запятой и вставляю в другую ячейку(price переменная) на листе rates

Все работает! НО

Это значение, которое вставилось, excel не принимает как число, т.е. если выделить эту ячейку и другую, в которую вбить число руками они не проссумируются справа внизу в строке состояния.
НО, стоит только зайти в эту ячейку и нажать enter, значение в ячейке становится числом и суммируется с другими.

Почему так?
suxo вне форума Ответить с цитированием
Старый 30.05.2010, 06:27   #2
maksim_serg
Форумчанин
 
Аватар для maksim_serg
 
Регистрация: 25.03.2010
Сообщений: 417
По умолчанию

Join(aText)- это функция работы с текстом, то есть что ты там не было она превратит в текст.
Добавьте val(LCase(Join(aText))), должно получится.
А может лучше использовать формулы =ОКРУГЛВНИЗ(В5)
maksim_serg вне форума Ответить с цитированием
Старый 30.05.2010, 14:29   #3
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

А ещё в VBA никто не отменял функцию Round
Цитата:
Round Function

Description

Returns a number rounded to a specified number of decimal places.

Syntax

Round(expression [,numdecimalplaces])

The Round function syntax has these parts:

Part Description
expression Required. Numeric expression being rounded.
numdecimalplaces Optional. Number indicating how many places to the right of the decimal are included in the rounding. If omitted, integers are returned by the Round function.
Aent вне форума Ответить с цитированием
Старый 30.05.2010, 15:50   #4
suxo
 
Регистрация: 25.05.2010
Сообщений: 8
По умолчанию

использовал val ! супер, спасибооо!!!
suxo вне форума Ответить с цитированием
Старый 30.05.2010, 21:47   #5
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Однако, использовать Split и Join здесь это как из пушки по воробьям:
Код:
With Sheets("rates").Range(price)
  .Value = CInt(.Text)
End With
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Число как текст преобразовать в число agregator Microsoft Office Excel 5 28.04.2010 06:08
Как разбить число на цифрыКак разбить число на цифры: 3241 => 3,2,4,1 (Pascal) Banderas123 Помощь студентам 3 07.12.2009 18:26
вывод числа из ax, не получается вывести большое число zmaxon Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 07.12.2009 00:09
Вывести число, предшествующее первому отрицательному и число, следующее за последним отрицательным Rid Паскаль, Turbo Pascal, PascalABC.NET 4 22.12.2008 16:50
Ввести число N и определить делится ли оно без остатка на число M (VBA) Ivanich Microsoft Office Excel 7 24.04.2008 19:43