PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال در خصوص جمع اتوماتیک ساعت ها در یوزرفرم



mr_daryani
2015/06/09, 19:45
سلام
دوستان کسی می تونه در دو مورد زیر منو راهنمایی کنه:
1. چطور می تونم مشخص کنم هر سلول از چه نوع داده ای باید باشه؟ مثلا در فایل پیوست فرمت داده ها ورودی ساعت باشه hh:mm
2. چطور می تونم ساعت ها رو با هم جمع و در آخرین باکس نمایش بدم؟ (همزمان با تکمیل باکس ها)

ممنونم7316

ordouei
2015/06/10, 12:41
با سلام
ورود اطلاعات ساعت و دقیقه و (ثانیه - اختیاری) با ( . ) ممیز میباشد . یعنی 1.2 یا ( 1.02 ) یک ساعت و 2 دقیقه
و1.20 یک ساعت و بیست دقیقه

Private Sub TextBox1_Change() If TextBox1.Value = "" Then Exit Sub If TextBox2.Value = "" Then Exit Sub If TextBox3.Value = "" Then Exit Sub TextBox4.Value = CDate(TextBox1.Value) + CDate(TextBox2.Value) + CDate(TextBox3.Value)End Sub Private Sub TextBox2_Change() If TextBox1.Value = "" Then Exit Sub If TextBox2.Value = "" Then Exit Sub If TextBox3.Value = "" Then Exit Sub TextBox4.Value = CDate(TextBox1.Value) + CDate(TextBox2.Value) + CDate(TextBox3.Value)End SubPrivate Sub TextBox3_Change() If TextBox1.Value = "" Then Exit Sub If TextBox2.Value = "" Then Exit Sub If TextBox3.Value = "" Then Exit Sub TextBox4.Value = CDate(TextBox1.Value) + CDate(TextBox2.Value) + CDate(TextBox3.Value)End Sub Private Sub TextBox4_Change()

If TextBox1.Value = "" Then Exit Sub If TextBox2.Value = "" Then Exit Sub If TextBox3.Value = "" Then Exit Sub If TextBox4.Value = "" Then Exit Sub TextBox4.Value = CDate(TextBox1.Value) + CDate(TextBox2.Value) + CDate(TextBox3.Value)End Sub

DOLFIN
2015/06/10, 13:44
سلام
در جواب سوال یک می تونید از این کد استفاده کنید :

Private Sub t1_AfterUpdate()
Dim tString As String
Dim tDate As Date
On Error GoTo ErrMsg
With t1

If InStr(1, .Value, ":", vbTextCompare) = 0 Then

tString = Format(.Value, "0000")
tDate = TimeSerial(Left(tString, 2), Right(tString, 2), 0)

t1.Value = Format(tDate, "HH:MM")
Else

.Value = Format(.Value, "hh:mm")
End If
End With
Exit Sub
ErrMsg:
MsgBox "", vbOKOnly, ""
End Sub

mr_daryani
2015/06/10, 17:52
سلام
در جواب سوال یک می تونید از این کد استفاده کنید :

Private Sub t1_AfterUpdate()
Dim tString As String
Dim tDate As Date
On Error GoTo ErrMsg
With t1

If InStr(1, .Value, ":", vbTextCompare) = 0 Then

tString = Format(.Value, "0000")
tDate = TimeSerial(Left(tString, 2), Right(tString, 2), 0)

t1.Value = Format(tDate, "HH:MM")
Else

.Value = Format(.Value, "hh:mm")
End If
End With
Exit Sub
ErrMsg:
MsgBox "", vbOKOnly, ""
End Sub



با تشکر
در مورد سه خونه اول بعد از تایپ تبدیل به ساعت می شه، اما در خصوص خانه پاسخ (چهارم) جواب نداد

mr_daryani
2015/06/10, 18:04
با سلام
ورود اطلاعات ساعت و دقیقه و (ثانیه - اختیاری) با ( . ) ممیز میباشد . یعنی 1.2 یا ( 1.02 ) یک ساعت و 2 دقیقه
و1.20 یک ساعت و بیست دقیقه

Private Sub TextBox1_Change() If TextBox1.Value = "" Then Exit Sub If TextBox2.Value = "" Then Exit Sub If TextBox3.Value = "" Then Exit Sub TextBox4.Value = CDate(TextBox1.Value) + CDate(TextBox2.Value) + CDate(TextBox3.Value)End Sub Private Sub TextBox2_Change() If TextBox1.Value = "" Then Exit Sub If TextBox2.Value = "" Then Exit Sub If TextBox3.Value = "" Then Exit Sub TextBox4.Value = CDate(TextBox1.Value) + CDate(TextBox2.Value) + CDate(TextBox3.Value)End SubPrivate Sub TextBox3_Change() If TextBox1.Value = "" Then Exit Sub If TextBox2.Value = "" Then Exit Sub If TextBox3.Value = "" Then Exit Sub TextBox4.Value = CDate(TextBox1.Value) + CDate(TextBox2.Value) + CDate(TextBox3.Value)End Sub Private Sub TextBox4_Change()

If TextBox1.Value = "" Then Exit Sub If TextBox2.Value = "" Then Exit Sub If TextBox3.Value = "" Then Exit Sub If TextBox4.Value = "" Then Exit Sub TextBox4.Value = CDate(TextBox1.Value) + CDate(TextBox2.Value) + CDate(TextBox3.Value)End Sub


با تشکر از شما
متاسفانه نتونستم از این کدها استفاده کنم، امکانش هست به صورت فایل ارسال بفرمایید. (در قسمت های مختلف خطا می ده)

ordouei
2015/06/14, 09:48
متاسفانه فایل پیوست نشد .
در صورت سوال بیشتر یا دریافت فایل ایمیل بزنید .
Excel.saeed@gmail.com

mr_daryani
2015/06/14, 22:14
متاسفانه فایل پیوست نشد .
در صورت سوال بیشتر یا دریافت فایل ایمیل بزنید .
Excel.saeed@gmail.com

با سپاس فراوان

اما مشکلات و خطا ها همچنان پابرجاست مواردی مثل ذیل:
1. در صورت استفاده از کارکتر ( : ) توسط کاربر به اشتباه خطا داده و از برنامه خارج می شود.
2. در صورتی که مثلا به جای 8.0 از 8 استفاده شود، جمع به صورت تاریخ نمایش داده می شود
3. در صورتی که کاربر اشتباه ساعت را وارد کند مثلا 1.70 باز هم جمع به صورت تاریخ نمایش داده می شود.

البته موارد فوق همه مربوط به کاربر استفاده کننده از فرم می باشد. هیچ راهی وجود نداره که بشه جلوی این خطاها رو گفت؟

mr_daryani
2015/07/01, 14:42
بزرگواران، هیچ کس نمی تونه پاسخ این سوال رو بده؟!؟!؟!؟:min3: