توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال در خصوص جمع اتوماتیک ساعت ها در یوزرفرم
mr_daryani
2015/06/09, 19:45
سلام
دوستان کسی می تونه در دو مورد زیر منو راهنمایی کنه:
1. چطور می تونم مشخص کنم هر سلول از چه نوع داده ای باید باشه؟ مثلا در فایل پیوست فرمت داده ها ورودی ساعت باشه hh:mm
2. چطور می تونم ساعت ها رو با هم جمع و در آخرین باکس نمایش بدم؟ (همزمان با تکمیل باکس ها)
ممنونم7316
با سلام
ورود اطلاعات ساعت و دقیقه و (ثانیه - اختیاری) با ( . ) ممیز میباشد . یعنی 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
سلام
در جواب سوال یک می تونید از این کد استفاده کنید :
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
با تشکر از شما
متاسفانه نتونستم از این کدها استفاده کنم، امکانش هست به صورت فایل ارسال بفرمایید. (در قسمت های مختلف خطا می ده)
متاسفانه فایل پیوست نشد .
در صورت سوال بیشتر یا دریافت فایل ایمیل بزنید .
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:
vBulletin® v4.2.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.