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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2012, 15:58   #1
Bozhkov
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 26
По умолчанию Элемент управления "Поле" - ввод чисел

Хочу данные в книге вводить не в ячейку а в окошко "Поле" (делаю калькулятор), чтоб красивее было. Но в связаную с "Поле" ячейкой число сохраняется как текст и формулы с ней не работают. Что посоветуете? Есть ли возможность сделать так чтоб из "поля" числа сохранялись числами?
Bozhkov вне форума Ответить с цитированием
Старый 19.01.2012, 16:09   #2
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Функция
=Ч()
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 19.01.2012, 16:18   #3
Bozhkov
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 26
По умолчанию

Цитата:
Сообщение от tae1980 Посмотреть сообщение
Функция
=Ч()
не работает так, ввожу число, а оно просто не переносится в ячейку с =Ч()
тоесть если в связаную с полем ячейку ввести число, то в ячейке с =Ч() оно светится, если ввести в поле, то в связаной ячейке оказывается текст и в ячейке с =Ч() "0"
Bozhkov вне форума Ответить с цитированием
Старый 19.01.2012, 16:30   #4
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от Bozhkov Посмотреть сообщение
не работает так, ввожу число, а оно просто не переносится в ячейку с =Ч()
тоесть если в связаную с полем ячейку ввести число, то в ячейке с =Ч() оно светится, если ввести в поле, то в связаной ячейке оказывается текст и в ячейке с =Ч() "0"
Ээээ.... =Ч(C20) или по другому =Ч(СвязаннаяЯчейка)
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 19.01.2012, 16:34   #5
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Например:
Код:
Private Sub TextBox1_LostFocus() 'Потеря фокуса полем
    [ЦелеваяЯчейка] = Val(TextBox1.Text)
End Sub
Не забывая о разнице в десятичном разделителе Excel и VBA
Aent вне форума Ответить с цитированием
Старый 19.01.2012, 17:59   #6
Bozhkov
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 26
По умолчанию

Цитата:
Сообщение от Aent Посмотреть сообщение
Код:
Private Sub TextBox1_LostFocus() 'Потеря фокуса полем
    [ЦелеваяЯчейка] = Val(TextBox1.Text)
End Sub
Я так понял, это нужно вставить в иходны код и в [ЦелеваяЯчейка] указать ячейку, которая будет связаная с "Полем"?
Не получилось так .
И еще, у меня таких ячеек будет несколько
Цитата:
Сообщение от Aent Посмотреть сообщение
Не забывая о разнице в десятичном разделителе Excel и VBA
А это я не понял, не програмист я...
Bozhkov вне форума Ответить с цитированием
Старый 19.01.2012, 18:08   #7
Bozhkov
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 26
По умолчанию

вот вложил файлик, так должно быть понятно. Если не сложно, подправьте, я потом в свойкалькулятор перенесу. (желательно б написать, как сделали )
Вложения
Тип файла: zip Primer.zip (12.0 Кб, 23 просмотров)
Bozhkov вне форума Ответить с цитированием
Старый 19.01.2012, 19:30   #8
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
   'Проверяем что ячейки из нашего диапазона и изменена одна ячейка
   If Not Intersect(Target, [E7:E10]) Is Nothing And Target.Cells.Count = 1 Then
        Application.EnableEvents = False 'Отключаем обработку событий
        With Target
            'Десятичный разделитель для аргумента Val - точка
            .Value = Val(Replace(Target.Value, ",", ".")) 'Преобразуeм строку в число
        End With
        Application.EnableEvents = True 'Включаем обработку событий
   End If
End Sub
Aent вне форума Ответить с цитированием
Старый 19.01.2012, 20:19   #9
Bozhkov
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 26
По умолчанию

Я рад что мне пытаются помочь. Спасибо!Но и этот код я не могу реализовать вставил ваш код в файл, который прикреплен в посте выше, не работает, в ячейках текст.
Что я мог не правильно сделать?
Aent, Вы сам вставляли этот код, проверяли его, или только написали?
P.S. Ага, оно все таки считает, но пишет что в ячейке текст, так и должно быть?

Последний раз редактировалось Bozhkov; 19.01.2012 в 20:23.
Bozhkov вне форума Ответить с цитированием
Старый 19.01.2012, 20:30   #10
Bozhkov
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 26
По умолчанию

Я понял свою проблему. В принципе, это текстовое значение может учавствовать в вычислениях, но вот функция "И" не работает корректно с этой ячейкой
Bozhkov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по коду " ввод десятичных чисел в ассемблере" El_Blasto Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 14.12.2010 10:14
ввод только чисел и знака "-" в InputBox'e в Delphi nuevegramodelamor Помощь студентам 1 19.06.2010 19:01
Ограничение на ввод символов в "поле ввода" zvezda_t JavaScript, Ajax 0 07.02.2010 19:57
запрашивает ввод времени суток и в зависимости от этого выводит на экран "Доброе утро", "Добрый день". Maria, Russia Помощь студентам 5 17.02.2009 21:44
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03