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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2009, 14:28   #1
Romuald
Форумчанин
 
Регистрация: 12.11.2007
Сообщений: 209
По умолчанию Макрос и интернет еще вопрос

Всем добрый день!
Эта тема и ответ были совсем недавно. Макрос классный!
Пытался немного изменить макрос -не выходит ничего (мозга нет)
Помогите, пожалуйста!
В файле все написал
Вложения
Тип файла: rar Kurs Valuti.rar (12.5 Кб, 29 просмотров)
Romuald вне форума Ответить с цитированием
Старый 05.03.2009, 05:30   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Введите дату в ячейку "G3" и запустите макрос "ValKur".
В коде не проверяется, есть ли подключение к Internet, а так же корректность ввода даты. Т.е. ячейка "G3" должна иметь формат "Дата" и введенная дата не должна превышать текущую.
Вложения
Тип файла: rar Kurs Valuti_2.rar (9.3 Кб, 25 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 05.03.2009, 11:57   #3
Romuald
Форумчанин
 
Регистрация: 12.11.2007
Сообщений: 209
По умолчанию

Спасибо огромное! Все шикарно работает!!!

Подскажите, чтобы не было проблем с вводом даты и форматом , можно сделать ввод даты через форму?
Romuald вне форума Ответить с цитированием
Старый 05.03.2009, 12:03   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
чтобы не было проблем с вводом даты и форматом , можно сделать ввод даты через форму?
Так подойдёт?
http://www.programmersforum.ru/showp...54&postcount=4

Пример использования:
НоваяДата = Get_Date(НоваяДата, ЗначениеПоУмолчанию)

[a1] = Get_Date([a1], DateSerial(1980, 1, 1))

Если в ячейке a1 присутствует дата, она будет стартовой при запуске формы:



Иначе стартовой датой для выбора станет дата 1 января 1980 (ЗначениеПоУмолчанию)
Если и значение по умолчанию не указано, стартовой датой является текущая дата.

Последний раз редактировалось EducatedFool; 05.03.2009 в 12:09.
EducatedFool вне форума Ответить с цитированием
Старый 05.03.2009, 17:05   #5
Romuald
Форумчанин
 
Регистрация: 12.11.2007
Сообщений: 209
По умолчанию

Поставил Calendar Control 11,0 - но почему-то не идет макрос на изменение в ячейке G3 ?
Вложения
Тип файла: rar Kurs Valuti_3.rar (16.4 Кб, 11 просмотров)
Romuald вне форума Ответить с цитированием
Старый 05.03.2009, 17:29   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Замените код
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$G$3" Then ValKur
End Sub
на

Код:
Private Sub Calendar1_AfterUpdate()
    ValKur
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 05.03.2009, 20:21   #7
Romuald
Форумчанин
 
Регистрация: 12.11.2007
Сообщений: 209
По умолчанию

Есть маленькая фишка- в календаре выбираю дату, а в А1 он ставит дату прошлого выбора даты и курс валюты он берет из прошлоговыбора даты
Вложения
Тип файла: rar Kurs Valuti_3.rar (16.4 Кб, 13 просмотров)
Romuald вне форума Ответить с цитированием
Старый 05.03.2009, 20:31   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
Есть маленькая фишка- в календаре выбираю дату, а в А1 он ставит дату прошлого выбора даты и курс валюты он берет из прошлоговыбора даты
Ну и? Это работает уже, насколько я понял...
А что требуется сделать?

Кстати, вместо индийского кода
Код:
D = IIf(Len(Day([g3])) = 2, Day([g3]), 0 & Day([g3]))
M = IIf(Len(Month([g3])) = 2, Month([g3]), 0 & Month([g3]))
dt = Year([g3]) & M & D
можно написать dt = Format([g3], "YYYYMMDD")

Соответственно, вместо [a1] = "Datums: " & D & "." & M & "." & Year([g3])
можно поставить [a1] = "Datums: " & Format([g3], "DD.MM.YYYY")
EducatedFool вне форума Ответить с цитированием
Старый 06.03.2009, 10:44   #9
Romuald
Форумчанин
 
Регистрация: 12.11.2007
Сообщений: 209
По умолчанию

Я выбираю в календаре дату
В G3 появляется эта дата,
Вижу -запускается макрос, есть данные курса валют,
но это данные не на ту дату , которую я сейчас выбрал а предыдущего выбора даты
и в А1 он ставит дату предыдущего выбора даты .
При следующем выборе даты в календаре, макрос дает данные на ту дату,которую выбирал до этого

В календаре Выбираю дату- 03.02.2009
В ячейке G3 появляется -03.02.2009
идет макрос
В ячейке А1 появляется -Datums: 04.01.2009(дата прошлого отбора)
Данные валют на - 04.01.2009

Следующую Выбираю дату- 28.02.2009
В ячейке G3 появляется -28.02.2009
идет макрос
В ячейке А1 появляется -Datums: 03.02.2009(дата прошлого отбора)
Данные валют на - 03.02.2009
ит.д.
Ну ничего не могу понять
Для проверки- курс USD на 28.03.2009- 0.553
Romuald вне форума Ответить с цитированием
Старый 06.03.2009, 11:13   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Прикрепите тот файл, в котором это происходит - сразу получите нужный ответ. Иначе - будем вести долгую переписку.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
И еще о помощи DeKot Свободное общение 4 12.02.2009 18:48
[Вопрос]Интернет DRAGGER Компьютерное железо 1 03.01.2009 14:26
Еще один вопрос с SQL-ом фЁдОр БД в Delphi 27 22.10.2007 12:42