powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / редактор VBA
6 сообщений из 6, страница 1 из 1
редактор VBA
    #34979947
Bella_8686
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет всем!
Напишите макрос, определяющий даты первого и последнего дня недели, содержащей дату, заданную пользователем. Например, если пользователь задал дату 14.09.2005, то результат будет 12.09.2005 (понедельник) и 18.09.2005 (воскресенье). Дату выводить в заданном формате: дд.мм.гг.
Dim d date
d=now
d=InputBox("какое число")
Debug.Print (d, dddd)
потом появилась ошибка!
что мне делать?
подскажите!
заранее спасибо!!!
...
Рейтинг: 0 / 0
редактор VBA
    #34980056
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во всех строчках ошибки или неточности, т.ч. читать справку (или конспекты) про:

1) декларирование переменных - Dim d date
2) функцию Date - d=now
3) функцию InputBox и конкретно про параметр Default - d=InputBox("какое число")
4) функцию Format и ее параметры - Debug.Print (d, dddd)

Если напишешь что-нибудь внятное, опубликую мой вариант :-) Или задавай конкретные вопросы но по частям, а так тут стараются не давать ответов на вопросы контрольных и экзаменов, т.ч. не обессудь.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
редактор VBA
    #34980321
Bella_8686
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня не получается! пожалуйста, подскажите!!!
...
Рейтинг: 0 / 0
редактор VBA
    #34980639
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub TestWeek()
Dim InputDate As String
Dim WeekDayShift As Long
    
    InputDate = Application.InputBox("Введите дату", "Ввод даты")
    WeekDayShift = WorksheetFunction.Weekday(CLng(CDate(InputDate)),  3 )
    Debug.Print "Начало недели " & Format(CDate(CLng(CDate(InputDate)) - WeekDayShift), "DD.MM.YY")
    Debug.Print "Конец недели " & Format(CDate(CLng(CDate(InputDate)) - WeekDayShift +  6 ), "DD.MM.YY")
End Sub
...
Рейтинг: 0 / 0
редактор VBA
    #34980869
Bella_8686
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я попробую сделать! спасибо!!!
...
Рейтинг: 0 / 0
редактор VBA
    #34980872
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы подстраховался с конвертацией введенной пользователем даты:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit
Sub test()
    Dim Temp As Variant
    Dim UserDate As Date
    Dim FirstDay As Date
    Dim LastDay As Date
    
    Temp = Split(InputBox("Enter the date in the following format dd.mm.yy", , Format(Date, "dd.mm.yy")), ".")
    UserDate = DateSerial(Temp( 2 ), Temp( 1 ), Temp( 0 ))
    FirstDay = UserDate - Weekday(UserDate, vbMonday) +  1 
    LastDay = FirstDay +  6 
    
    Debug.Print Format(FirstDay, "dd.mm.yy")
    Debug.Print Format(LastDay, "dd.mm.yy")
End Sub

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / редактор VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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