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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2011, 18:00   #1
dimok5
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 51
По умолчанию Даты в VBA

Microsoft Word
Ввести с клавиатуры дату. Ввести цифру(от 0 до 9). Определить содержит ли дата заданную цифру.
dimok5 вне форума Ответить с цитированием
Старый 27.01.2011, 18:26   #2
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

Это Вам так задание выдали? Хоть объяснили куда вводить дату (что с клавиатуры это понятно)
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 27.01.2011, 19:49   #3
dimok5
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 51
По умолчанию

Нам всё время такие задания дают=\
Ну примерно что-то такое...
Нужно переменной присвоить тип даты. И осуществить запись даты в эту переменную.
Затем, в другую переменную записать число.
И после этого проверить есть ли в этой дате записанное число.
dimok5 вне форума Ответить с цитированием
Старый 27.01.2011, 20:40   #4
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

Ну, сейчас, уже более понятно. Однако, цифру 0-9 ищем среди "27.01.2011" или "27.01.11" Это разный формат одной и той же даты, которая в памяти представлена числом 40570. Так что не все однозначно в условии. Отвечай, сейчас сделаю.
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 27.01.2011, 20:48   #5
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

Хотя, прежде чем делать, надо выбрать вариант.
1. Преобразуем дату в строку определенного формата. И цифру тоже в строку. И ищем вхождение подстроки в строке.
2. Определяем день даты как число (27). Определяем месяц однозначный (1) или двузначный (12) числом. определяем год(11) или (2011). И проверяем уже в них вхождение цифры.
Какой вариант сделать? Первый короче и вроде более предпочтительней.
Цитата:
Dim d As Date
Dim n As Integer, p As Integer ' цифра и позиция
Dim s As String
d = CDate("27.01.2011")
n = 5
If InStr(1, CStr(d), CStr(n)) Then
MsgBox "есть такая цифра"
Else
MsgBox "нет такой цифры"
End If
Дату и число я вводил для проверки, а ты введешь как тебе надо.
помогать студентам - моя вторая профессия

Последний раз редактировалось was3110; 27.01.2011 в 21:02.
was3110 вне форума Ответить с цитированием
Старый 27.01.2011, 21:58   #6
dimok5
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 51
По умолчанию

хм....первый вариант я думаю лучше. Спасибо.
dimok5 вне форума Ответить с цитированием
Старый 01.02.2011, 18:42   #7
dimok5
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 51
По умолчанию

У меня что-то вышло, но при вводе числа, не входящего в дату, не выдаёт ошибку о том, что этой цифры в дате не находится....
Код:
Dim a As String
Dim b As String
a = InputBox("", "", "")
If IsDate(a) Then
   b = InputBox("", "", "")
   If IsNumeric(b) Then
      If Val(b & "") >= 0 And Val(b & "") <= 9 Then
         If InStr(1, Format$(a, "dd.mm.yyyy"), b, vbTextCompare) >= 0 Then
            MsgBox ("Введённое число (" & b & ") содержится в введённой дате " & Format$(a, "dd.mm.yyyy"))
         Else
            MsgBox ("Введённое число (" & b & ") не содержится в введённой дате " & Format$(a, "dd.mm.yyyy"))
         End If
      Else
         MsgBox ("Введённое число находится за пределами интервала [0, 9]")
      End If
   Else
      MsgBox ("Введенное значение не является корректным значением для типа Integer/Long")
   End If
Else
   MsgBox ("Введенное значение не является корректным значением для типа Date")
End If
Что нужно изменить в программе???
dimok5 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
VBA Как задать формат даты и времени kaa1977 Microsoft Office Excel 5 02.04.2010 12:19
Автоматизация заполнения даты и зависимость ячейки времени к ячейке даты. Каравай Microsoft Office Excel 14 11.03.2010 18:11
Конверсия даты в Excel и VBA Aent Microsoft Office Excel 1 15.02.2010 09:41
Использование полной даты Autofilter в VBA alpeen Microsoft Office Excel 2 27.05.2009 16:18