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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2009, 15:57   #1
komar73
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 66
По умолчанию Как преобразовать в число

Подскажите пожалуйста какой командой можно преобразовать текстовое значение диаппазона А1:А6 в числовое
komar73 вне форума Ответить с цитированием
Старый 24.03.2009, 17:56   #2
Slavik
Форумчанин
 
Регистрация: 23.11.2008
Сообщений: 237
По умолчанию

Обясните а по какой логике вы собираетесь приобразовать слово Комар73?
Если мой ответ вам понравился, поставьте позитивный отзыв
Slavik вне форума Ответить с цитированием
Старый 24.03.2009, 18:02   #3
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

выделить пустую ячейку, копировать ее
выделить нужный диапазон-спецвставка-сложить
slan вне форума Ответить с цитированием
Старый 25.03.2009, 04:53   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если на VBA, то можно так:
Код:
With [A1:A6]
        arr = .Value
        .NumberFormat = "General"
        .Value = arr
    End With
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 25.03.2009, 06:36   #5
komar73
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 66
По умолчанию

SAS888 Огромное спасибо, работает великолепно!
komar73 вне форума Ответить с цитированием
Старый 25.03.2009, 19:54   #6
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

достаточно просто:
With [A1:A6]
.NumberFormat = "General"
.Value = .Value
End With
slan вне форума Ответить с цитированием
Старый 14.04.2009, 20:08   #7
winfacks
Пользователь
 
Аватар для winfacks
 
Регистрация: 25.04.2008
Сообщений: 33
По умолчанию А вот кто подскажет (чтоб не делать новую тему ...)

Есть какая то последовательность цифирь (вложеный файл)
Есть простая метода преобразования в число (выделить пустую ячейку, копировать ее
выделить нужный диапазон-спецвставка-сложить)
Но!
Часть чисел оно отлично преобразовывает (см вложение с макросом и княпкой для запуска такового), а часть оставляет.
Победить не могу блин никак - в чем может быть проблема?
Вложения
Тип файла: rar 1.rar (14.9 Кб, 28 просмотров)
Египетский бог Сет отвечал за переменные окружения.
winfacks вне форума Ответить с цитированием
Старый 15.04.2009, 05:37   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Вставьте в Ваш файл и выполните следующий макрос:
Код:
Sub TextToNum()

    Dim i As Integer, j As Integer, Ms As String
    Application.ScreenUpdating = False
    For i = 1 To Cells(Rows.Count, "R").End(xlUp).Row
        If Cells(i, "R") <> "" Then
            For j = 1 To Len(Cells(i, "R"))
                Select Case Asc(Mid(Cells(i, "R"), j, 1))
                Case 44, 46: Ms = Ms & "."
                Case 45, 48 To 57: Ms = Ms & Mid(Cells(i, "R"), j, 1)
                End Select
            Next
            Cells(i, "R").NumberFormat = "General": Cells(i, "R") = Val(Ms): Ms = ""
        End If
    Next
          
End Sub
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 15.04.2009 в 14:31.
SAS888 вне форума Ответить с цитированием
Старый 15.04.2009, 10:53   #9
winfacks
Пользователь
 
Аватар для winfacks
 
Регистрация: 25.04.2008
Сообщений: 33
По умолчанию

А можно комментами пояснение, как это работает? а то придеться делать етот же вариант для других столбцов (выборочно), а я как то с ходу понять не могу (ламер блин - но обучаемый )
Египетский бог Сет отвечал за переменные окружения.
winfacks вне форума Ответить с цитированием
Старый 15.04.2009, 11:55   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Организуем цикл с 1 до последней заполненной ячейки столбца "R".
Если ячейка не пуста, то организуем цикл от 1 до последнего символа значения ячейки. В этом цикле очищаем ячейку от "мусора", т.е. формируем строковую переменную, содержащую только символы цифр, а также, меняем запятую на точку (для VB это однозначно разделитель целой и дробной части). После выхода из внутреннего цикла, устанавливаем формат ячейки "Общий" и помещаем в эту ячейку преобразованное в число значение сформированной ранее строковой переменной. Вот и все.

Благодаря нашей "очистки", если, например, ячейка содержит значение "a1b2c3,d4e5@#$6", после обработки получим число 123,456
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать код SeRhy HTML и CSS 1 17.08.2008 15:50
Как преобразовать типы NeiL Общие вопросы C/C++ 1 31.05.2008 14:43
Как преобразовать одномерный массив? kitty Помощь студентам 1 01.12.2007 20:16
Как преобразовать число в текст на русском языке??? Aerodeck Microsoft Office Excel 2 09.10.2007 07:51