VBA, Excel и дати

7 отговора 347 прегледа
#1

VBA, Excel и дати

Условията:

1. Таблица Excel и форма за въвеждане на данните.
2. Колона от таблицата „Дата”, форматирана Custom dd.mm.yyyy
3. TextBox, който показва и въвежда дати в колона „Дата”

Въпрос:
Какви трябва да са настройките на TextBox, за да показва и въвежда датите във формат dd.mm.yyyy?

Отговор
в отговор на cveti_m #2

Re: VBA, Excel и дати

Изпратих ти нещо, ако ти върши работа.

Отговор
в отговор на Zarev #3

Re: VBA, Excel и дати

А къде си ми го изпратил?

Отговор
в отговор на cveti_m #4

Re: VBA, Excel и дати

На пощата в ABV-то но има някакъв проблем, защото два пъти ми го връща.

Отговор
в отговор на Zarev #5

Re: VBA, Excel и дати

и аз се боря с този проблем, може ли нещо и на мен да пратиш
[email protected]

Go Install Analysis Toolpack!
Отговор
в отговор на alexoff #6

Re: VBA, Excel и дати

Опитал съм се да направя нещо, в смисъл да се въвеждат само цифри и ".", както и да прави проверка за валидност на дата. Другото е да може да се въвежда дата в съкратен формат 1.2.05 , като при излизане на контрола да дава 01.02.2005. Ще ти пусна демо, както и на колежката за 4-ти път, но си го отворете в VBA, че не съм му сложил бутон в шийта.

Определено имам проблем с пощата на колежката, връща ми блокиран адрес.
Ако Алекс го получи, нека да и го изпрати.

Редактирано от Zarev на

Отговор
в отговор на Zarev #7

Re: VBA, Excel и дати

Вижте това

1. Когато показва:
TextBox1.Text = Format(TextBox1.Text, "dd.mm.yyyy")

2. Когато въвежда:
If TextBox1.Value = "" Then
d_data = ""
z = z + 1
ActiveCell.Offset(0, z).Value = d_data
Else:
d_data = DateValue(TextBox1.Value)
z = z + 1
ActiveCell.Offset(0, z).Value = d_data
End If

Направих го с IF, защото когато полето е празно дава грешка

3. И настройка на TextBox, за да покаже веднага датата в желания формат.

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)

TextBox1.Text = Format(TextBox1.Text, "dd.mm.yyyy")

End Sub

Така се постигат следните неща:
1. Възможност за въвеждане на дата, както в Excel. Напр. 12.6 или 12/6 като допълва с настоящата година.
2. Показва датите в текстовите полета при разглеждане коректно (преди ми ги показваше във формат mm.dd.yyyy).
3. Когато въвежда датите в таблицата те са дати, а не текст (което от своя страна води и до коректна работа на изчисленията с дати).

Очаквам да споделите мнения и предложения.

А ето и друг e-mail
cveti.mp@gmail.com

Отговор
в отговор на cveti_m #8

Re: VBA, Excel и дати

Изпратих ти демо на новия адрес, дано си го получила.

Отговор