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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2009, 09:56   #1
dark_bars
 
Регистрация: 02.12.2009
Сообщений: 5
По умолчанию Помогите с вставкой данных TextBox

есть макрос который строит график данных в поля textbox вводится дата

как можно сделать чтобы при запуске макроса в его полях отображаась текущуя дата и время, и время 24 часа назад
dark_bars вне форума Ответить с цитированием
Старый 02.12.2009, 10:03   #2
Xpoft
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 55
По умолчанию

День добрый. Пример файла в студию пожалуйста.
Не бывает сложных задач, бывают сложные решения
Xpoft вне форума Ответить с цитированием
Старый 02.12.2009, 10:24   #3
dark_bars
 
Регистрация: 02.12.2009
Сообщений: 5
По умолчанию

объявляются перменные
вызывается процедуры окон ввода

как сделать чтобы там уже была текущая дата
dark_bars вне форума Ответить с цитированием
Старый 02.12.2009, 10:25   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Например, так:
Код:
Private Sub UserForm_Initialize()
    TextBox1.Text = Format(Now, "dd:mm:yyyy")
    TextBox2.Text = Format(Now, "hh:mm:ss")
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 02.12.2009, 11:41   #5
dark_bars
 
Регистрация: 02.12.2009
Сообщений: 5
По умолчанию

Private Sub CommandButton3_Click()


Dim d1 As String
Dim M1 As String
Dim Y1 As String
Dim H1 As String
Dim MIN1 As String
Dim d2 As String
Dim M2 As String
Dim Y2 As String
Dim H2 As String
Dim MIN2 As String

Dim Zapr As String
Dim D1M1Y1H1MIN1 As String
Dim D2M2Y2H2MIN2 As String


Call TextBox1_Change
Call TextBox2_Change
Call TextBox3_Change
Call TextBox4_Change
Call TextBox5_Change
Call TextBox6_Change
Call TextBox7_Change
Call TextBox8_Change
Call TextBox9_Change
Call TextBox10_Change

d1 = TextBox1.Text
M1 = TextBox2.Text
Y1 = TextBox3.Text
H1 = TextBox4.Text
MIN1 = TextBox5.Text
d2 = TextBox6.Text
M2 = TextBox7.Text
Y2 = TextBox8.Text
H2 = TextBox9.Text
MIN2 = TextBox10.Text
dark_bars вне форума Ответить с цитированием
Старый 02.12.2009, 12:13   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте dark_bars.
А почему бы не использовать массив, конструкция будет менее громоздкой:
Код:
Dim s(1 To 10) As String
Private Sub TextBox1_Change()
    toVar
End Sub
Private Sub UserForm_Activate()
Dim i%
For i = 1 To 10
    Me.Controls("TextBox" & i).Text = Format(Now - 1, "dd:mm:yyyy")
Next
End Sub
Sub toVar()
Dim i%
For i = 1 To 10
    s(i) = Me.Controls("TextBox" & i).Text
Next
End Sub
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 02.12.2009, 12:45   #7
dark_bars
 
Регистрация: 02.12.2009
Сообщений: 5
По умолчанию

спасибо, просто знаний по excel-у маловато поэтому и такими способами
dark_bars вне форума Ответить с цитированием
Старый 02.12.2009, 18:52   #8
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

dark_bars "вооружаться" знаниями надо не только по Excel, он является приложением - базовой платформой Вашей конструкции, но все коды предложенные Вам относятся не к нему, а к VBA в него интегрированного. Планируйте изучение и VBA если хотите решать подобные задачи.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 02.12.2009, 19:07   #9
dark_bars
 
Регистрация: 02.12.2009
Сообщений: 5
По умолчанию

будьте добры подскажите еще
как должны выглядеть ограничения на вводимый текс в текстбоксе например для даты и времени чтобы нельзя было вводить спец символы буквы и цифры превыщающие (напр. месяц 13 день 32 и т.д)
спасибо
dark_bars вне форума Ответить с цитированием
Старый 02.12.2009, 20:40   #10
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

dark_bars, существуют контролы в свойствах которых можно задать допустимый формат ввода, но далеко не все наделены такой возможностью.
И потому для решения этой задачи приспосабливаются всевозможные конструкции, например свойство TextBox'а MaxLength установленое в 2 не позволит ввести в поле более двух символов.
Один из вариантов ограничения только числового ввода такой:
Код:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    iKey KeyAscii
End Sub
Function iKey(KeyAscii) As Integer
Select Case KeyAscii
Case 47 To 58 'числа
Case Else: KeyAscii = 0 'коды нажатия не числовых клавиш обнуляются
End Select
End Function
а такая конструкция :
Код:
Private Sub TextBox2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim s$
s = TextBox2.Text
If Val(s) > 12 Or Val(s) < 1 Then Cancel = True
End Sub
не даст завершить ввод если число будет больше 12.
Это вполне работоспособные, но не лучшие "приспособления"
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с вставкой рисунка fire_on Паскаль, Turbo Pascal, PascalABC.NET 2 09.10.2009 01:14
C# TextBox, вывод данных. Jenya Общие вопросы C/C++ 6 29.09.2009 16:03
Добавление данных в TextBox gavrylyuk Microsoft Office Excel 1 28.05.2009 18:25
Сортировка вставкой MAKEDON Общие вопросы C/C++ 1 26.04.2009 12:30
Помогите пожалуйста со вставкой изображений!!! Greg Мультимедиа в Delphi 9 07.06.2007 18:57