powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Преобразование строки в число в VBA
11 сообщений из 11, страница 1 из 1
Преобразование строки в число в VBA
    #34957568
AlyoNa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть строка, например '1 000 000', т.е. между цифрами стоят пробелы.
Как её преобразовать в число?
...
Рейтинг: 0 / 0
Преобразование строки в число в VBA
    #34957586
Pavel55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точно не знаю, но думаю так

Код: plaintext
=ПОДСТАВИТЬ(A1;" ";"")
...
Рейтинг: 0 / 0
Преобразование строки в число в VBA
    #34957606
Фотография udgeen69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция CInt
CInt(Expression)

Функция CInt(Conversion to Integer) используется для приведения выражения в тип Integer
Возвращаемое значение

Функция CInt возвращает значение аргумента, преобразованное в числовой целый тип данных Integer. Дробная часть при этом округляется
Параметры

Expression
Любое числовое выражение или строка,представляющая число от -32768 до 32767
Если числовое значение Expression не попадает в диапазон допустимых значений, происходит ошибка стадии выполнения Overflow.
Если Expression имеет тип данных String,то он должен быть числом, иначе возникает ошибка стадии выполнения Type mismatch.
Если дробная часть Expression равна 0.5, CInt всегда округляет его до ближайшего четного числа, т.е. CInt(2.5)= 2, a CInt(1.5)= 2

Пример Dim A, retval A=1234.5678 ' A имеет тип Double retval = CInt(A)' преобразуем в Integer Debug.Print retval ' получаем 1235 Категория

отсюда


А обрезать пробелы можно Replace(Str," ","")...
...
Рейтинг: 0 / 0
Преобразование строки в число в VBA
    #34959001
George Ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
=ЗНАЧЕН(A1)
...
Рейтинг: 0 / 0
Преобразование строки в число в VBA
    #34959478
George Ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот в справке есть:

Type Conversion Functions
Each function coerces an expression to a specific data type .
Syntax
CBool( expression )
CByte( expression )
CCur( expression )
CDate( expression )
CDbl( expression )
CDec( expression )
CInt( expression )
CLng( expression )
CSng( expression )
CStr( expression )
CVar( expression )
The required expression argument is any string expression or numeric expression .


ну и т.д.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Преобразование строки в число в VBA
    #35936451
S-Pon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите,почему не получается преобразовать?

iString="3.333"
iDouble=cdbl(iString)

???
...
Рейтинг: 0 / 0
Преобразование строки в число в VBA
    #35936506
birk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S-Pon,

мб так
Код: plaintext
1.
iString="3,333"
iDouble=cdbl(iString)
...
Рейтинг: 0 / 0
Преобразование строки в число в VBA
    #35936625
S-Pon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да,так работает. Но вот что у меня в реальной жизни: на листе данные в формате "#,##" -> эти данные загружатся в combobox. Далее я хочу переменной типа double присвоить:
iDouble=CDbl(comboBox1.value). Выдается ошибка 13. И я вижу,что comboBox1.value="3.33". Что за беда?
...
Рейтинг: 0 / 0
Преобразование строки в число в VBA
    #35936686
Aster32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iDouble=CDbl(Left(comboBox1.value, Len(comboBox1.value) - 3) & "," & Right(comboBox1.value, 2))
...
Рейтинг: 0 / 0
Преобразование строки в число в VBA
    #35936710
Aster32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или так:

iDouble=CDbl(Replace(comboBox1.value, ".", ","))
...
Рейтинг: 0 / 0
Преобразование строки в число в VBA
    #35936743
S-Pon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, можно и так.. Но я просто сделал combobox1.addItem cstr(cells(i,3)) (до этого было combobox1.addItem cdbl(cells(i,3)), и все заработало. Теперь combobox1.value="3,33" и ф-я cdbl() преобразует прекрасно.
Спасибо за советы)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Преобразование строки в число в VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]