snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมสำหรับแจกจ่ายแบ่งปันไฟล์ รวมทั้งแหล่งความรู้ต่าง ๆ เกี่ยวกับ Excel
CatEyePantip
Member
Posts: 10 Joined: Tue Feb 05, 2013 4:47 pm
#2
Post
by CatEyePantip » Tue Feb 05, 2013 7:37 pm
แต่อย่างนี้ครับท่านคนควน...
บางทีมัน Error บางทีมันก็ไม่ Error มันเป้นเพราะอะไร
เล่นกับเครื่องความเร็วต่ำๆ จะไม่มีปัญหาอะไร...
จะเป็นกับเครื่องความเร็วสูงๆ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#3
Post
by snasui » Tue Feb 05, 2013 8:45 pm
ปัญหาที่เกิด Error ไม่ทราบว่าเกิดตอนไหนบ้างครับ
กรณีที่ให้ User สามารถเลือกชีทอื่น ๆ ได้ก็น่าจะเป็นสาเหตุของการเกิด Error เพราะว่า Code ไม่ได้ระบุ Parent ให้ชัดเจน ผมลองปรับใหม่เป็นตามด้านล่าง ลองทดสอบดูครับว่าเกิด Error อีกหรือไม่ หากมี Error ช่วยจับภาพพร้อม Line ที่เป็นปัญหามาด้วยครับ
Code: Select all
Private Sub Worksheet_Activate()
Call Worksheet_Calculate
End Sub
Private Sub Worksheet_Calculate()
Dim n As Integer
With Sheets("Sheet1")
For n = 1 To 10
If .Range("B" & n + 2).Value = "OK" And .Range("D" & n + 2).Value = Empty _
Then .Range("D" & n + 2).Value = Time()
If .Range("B" & n + 2).Value = "NO" And .Range("D" & n + 2).Value <> Empty _
Then .Range("D" & n + 2).Value = Empty
If .Range("E" & Trim(Str(n + 2))).Value < Time Then
MsgBox "โต๊ะ " & .Range("A" & n + 2).Value & " หมดเวลา"
.Range("C" & n + 2).Value = Empty
End If
Next n
Do
T = Second(Time())
DoEvents
Loop While Second(Time()) = T
.Range("A1").Value = Time()
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Call Worksheet_Calculate
End Sub
CatEyePantip
Member
Posts: 10 Joined: Tue Feb 05, 2013 4:47 pm
#4
Post
by CatEyePantip » Mon Feb 11, 2013 2:49 pm
ออ...ตอนแรกผมคิดว่าน่าจะเป็นที่การใช้ doEvenst เยอะไปครับ... เพราะมันอาจจะวนลูป...จนมันทำงานเกินระดับ...
เข้าใจแล้วครับ...
CatEyePantip
Member
Posts: 10 Joined: Tue Feb 05, 2013 4:47 pm
#5
Post
by CatEyePantip » Fri Feb 15, 2013 3:47 pm
ลองดูแล้ว...ครับ...แต่สูตรการใช้ Events มันผิดพลาดถ้าใช้กับเครื่องความเร็วสูงๆ เลยนำสูตรของท่าน "คนควน" มาประยุกต์ "เสถียรกว่า" เยอะครับ...
Attachments
คิดเวลาร้านเน็ต(สมบรูณ์แล้ว).xls
(48 KiB) Downloaded 264 times
ballkoong
Bronze
Posts: 396 Joined: Thu Nov 01, 2012 4:41 pm
#6
Post
by ballkoong » Sat May 04, 2013 4:35 pm
อยาก เวลา เหมือนในช่อง เวลาเริ่มครับ
sakuraouji
Member
Posts: 5 Joined: Sun May 26, 2013 10:08 am
#7
Post
by sakuraouji » Sun May 26, 2013 10:32 am
ผมพึ่งสมัครใช้นะครับ ลองเข้ามานั่งหาความรู้
คำถามที่สงสัยครับ
ถ้าเราอยากจะแก้การแจ้งเตือนเป็นข้อความแบบอื่นจะต้องแก้ตรงไหนครับ
เราสามารถปรับเวลาให้เป็น 24 ชั่วโมงได้ไหมครับ
Last edited by
sakuraouji on Sun May 26, 2013 10:57 am, edited 1 time in total.
logic
Gold
Posts: 1510 Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365
#8
Post
by logic » Sun May 26, 2013 10:40 am
เปิดไฟล์แล้วกดแป้น Alt+11 Code จะอยู่ใน Module1 หาข้อความที่ต้องการเปลี่ยนได้เลยครับ
sakuraouji
Member
Posts: 5 Joined: Sun May 26, 2013 10:08 am
#9
Post
by sakuraouji » Sun May 26, 2013 11:05 am
มันเป็นภาษามั่วๆครับ อันนี้ทดสอบแก้ดูนะครับ
พบว่า ถ้าแก้แล้ว มันจำไม่คำนวนให้ครับ
ผมแก้คำว่า โต๊ะ เป็น บอส หมดเวลา เป็น มาแล้ว
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#10
Post
by snasui » Sun May 26, 2013 11:35 am
มันเป็นภาษาที่อ่านไม่ได้เนื่องจากไม่ได้กำหนดให้เป็นไทยเอาไว้ครับ
การเปลี่ยนภาษาให้เข้าที่เมนู Tools > Options > Editor Format > ตรง Font: ให้หาภาษาไทย ยกตัวอย่างเช่น Tahoma (Thai)
sakuraouji
Member
Posts: 5 Joined: Sun May 26, 2013 10:08 am
#11
Post
by sakuraouji » Sun May 26, 2013 11:47 am
อาจารย์ครับ เราสามารถเปลี่ยนเวลาให้มันเป็น 24 ชั่วโมงได้ไหมครับ
เนื่องจากไม่ถนัดการอ่าน AM กับ PM ครับ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#12
Post
by snasui » Sun May 26, 2013 11:58 am
ที่เวลาแสดงเป็น AM/PM เกิดจากการกำหนด Format ซึ่งเราสามารถเปลี่ยนให้เป็น Format ใด ๆ ก็ได้ตามต้องการ
ยกตัวอย่างเช่นหากต้องการให้แสดงเป็นแบบอื่น ๆ ลองตามนี้ครับ
คลิกขวา A1 > Format Cells...
ที่แถบ Number เลือก Time > เลือกรูปแบบเวลาที่ต้องการ > OK
sakuraouji
Member
Posts: 5 Joined: Sun May 26, 2013 10:08 am
#13
Post
by sakuraouji » Sun May 26, 2013 12:01 pm
อาจารย์ครับเจอปัญหาแล้ว
ถ้าผมเปลี่ยนคำว่า บอส หรือ คำว่า หมดเวลา มันจะไม่คำนวนให้ครับ จะเป็นช่องเปล่าๆเลย
และพอ ลบเวลาตรงกี่นาทีออกไปช่องเริ่มเวลาก็ไม่หายไปครับ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#14
Post
by snasui » Sun May 26, 2013 12:08 pm
ค่าพวกนั้นเป็นค่าคงที่ เป็นการแสดงขึ้นมาแจ้งกับ User เฉย ๆ ไม่มีผลลอะไรกับการจับเวลาครับ
sakuraouji
Member
Posts: 5 Joined: Sun May 26, 2013 10:08 am
#15
Post
by sakuraouji » Sun May 26, 2013 12:17 pm
ออได้แล้วครับ พึ่งรู้ว่ามันต้องรอซักแปปนึงหลังจากเปิด
mssan
Member
Posts: 4 Joined: Sun Jun 09, 2013 7:58 pm
#16
Post
by mssan » Sun Jun 09, 2013 9:55 pm
อาจารย์ครับจะใช้งานมากกว่า 10 แถวได้มั้ยครับ ผมต้องการสัก100-200 แถวครับ ต้องไปแก้ตรงไหนครับขอบคุณครับ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#17
Post
by snasui » Mon Jun 10, 2013 9:24 am
ได้ลองใช้งานตามจำนวนแถวที่ต้องการแล้วยังครับ หากลองแล้วให้แจ้งที่ติดปัญหามาครับ
mssan
Member
Posts: 4 Joined: Sun Jun 09, 2013 7:58 pm
#18
Post
by mssan » Mon Jun 10, 2013 12:38 pm
ใช้แล้วครับแต่ต้องการจำนวนแถวที่มากกว่า10ต้องการประมาณสัก500แถวครับผมจะเอามาใช้เกี่ยวกับร้านอาบอบนวดครับขอบคุณครับ
mssan
Member
Posts: 4 Joined: Sun Jun 09, 2013 7:58 pm
#19
Post
by mssan » Mon Jun 10, 2013 1:30 pm
อาจารย์ครับวิธีแก้ไม่จำกัดจำนวนแถวทำยังไงครับ ช่วยบอกหน่อยนะครับขอบคุณครับ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#20
Post
by snasui » Mon Jun 10, 2013 2:16 pm
แนบไฟล์ตัวอย่างและชี้ให้เห็นว่าปัญหาคืออะไรมาด้วยครับ