Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

วิธีที่ 1 – สร้างนาฬิกาดิจิทัลผ่าน Excel VBA และฟังก์ชัน TEXT

ขั้นตอน:

  • ไปที่ Insert > Illustrations > Shapes

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • กล่องเมนู Shapes จะขึ้น
  • เลือก Rounded Rectangular

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • รูปสี่เหลี่ยมโค้งมุมจะถูกแทรก

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • ไปที่แท็บ Developer คลิก Visual Basic

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • ใน Visual Basic ไปที่ Insert > Module

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • ในโมดูล ใส่ VBA Code นี้:
Sub Digi_Clock()
    Range("B5") = Not Range("B5")
    Do While Range("B5") = True
        DoEvents
        Range("B6") = Now()
    Loop
End Sub
  • กดปุ่ม Run สีเขียว

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • ในเซลล์ B4 ใส่ TRUE กด Enter หรือ Tab

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • คลิกขวาที่รูปสี่เหลี่ยมโค้งมุม เลือก Assign Macro

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • VBA ถูกผูกกับรูปทรง นี่จะแสดงเวลา

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • ในเซลล์ C6 ใส่สูตร TEXT:

=TEXT(B6,"hh:mm:ss AM/PM")

  • แปลงเวลาใน B6 ให้เป็นรูปแบบ hh:mm:ss
  • กด Enter
  • ไปที่ Home > Font ปรับสี ขนาด สไตล์

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • เวลาจะแสดงในรูปแบบดิจิทัล

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

อ่านเพิ่มเติม: วิธีสร้างนาฬิกาทำงานใน Excel

วิธีที่ 2 – ใช้ Shapes Tool และ Excel VBA ออกแบบนาฬิกาดิจิทัล

Step 1: Design Clock

  • ไปที่ Insert > Illustrations > Shapes

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • ในกล่อง Shapes หา Block Arrows เลือก Pentagon Arrow
  • จะได้ปันลูกศรห้าเหลี่ยม

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • แทรกลูกศรอีกอัน Copy-Paste
  • เลือกใหม่ ไป Shape Format > Rotate > Flip Horizontal

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • คัดลอกแต่ละลูกศร วางรวมเป็นวงกลม
  • ใช้ Rotate ตามต้องการ

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • จัดลูกศรเป็นรูป 8 (ตัวเลข 8 แบบ 7-segment)
  • ปรับตัวเลขแรก: คลิกขวาแต่ละกลุ่มลูกศร ตั้งชื่อลำดับ 1 ตามไป

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • Copy-Paste กลุ่มทั้งหมด ให้ได้รูปแบบ hh:mm:ss
  • ตั้งชื่อ 1 ถึง 42
  • เพิ่ม Oval 4 ตัว ชื่อ Point (จุดคั่นเวลา)
  • เพิ่ม Rounded Rectangle 3 ตัว สำหรับปุ่ม: Start, Stop, Reset

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • ได้รูปแบบหน้าจอนาฬิกาแล้ว
  • ต่อไปจะใส่โค้ด VBA

Step 2: Insert Excel VBA Code

  • กด ALT+F11 เปิด Visual Basic
  • เพิ่มโค้ด VBA ต่อไปนี้:
Sub Digital_Clock_Autoshapes(FS As Integer, Digi As Integer)
    Dim n As Integer, Spe As Shape, Shw As Worksheet
    Set Shw = ActiveSheet
    Dim i As Integer
    For i = FS To FS + 6
        Set Spe = Shw.Shapes(VBA.Format(i, "0"))
        Spe.Visible = msoCTrue
    Next i
    If Digi = 0 Then
        For i = FS To FS + 6
            Set Spe = Shw.Shapes(VBA.Format(i, "0"))
            If i = FS + 2 Then Spe.Visible = msoFalse
        Next i
    End If
    If Digi = 1 Then
        For i = FS To FS + 6
            Set Spe = Shw.Shapes(VBA.Format(i, "0"))
            If i <> FS + 1 And i <> FS + 5 Then Spe.Visible = msoFalse
        Next i
    End If
    If Digi = 2 Then
        For i = FS To FS + 6
            Set Spe = Shw.Shapes(VBA.Format(i, "0"))
            If i = FS + 3 Or i = FS + 5 Then Spe.Visible = msoFalse
        Next i
    End If
    If Digi = 3 Then
        For i = FS To FS + 6
            Set Spe = Shw.Shapes(VBA.Format(i, "0"))
            If i = FS + 3 Or i = FS + 4 Then Spe.Visible = msoFalse
        Next i
    End If
    If Digi = 4 Then
        For i = FS To FS + 6
            Set Spe = Shw.Shapes(VBA.Format(i, "0"))
            If i = FS Or i = FS + 4 Or i = FS + 6 Then Spe.Visible = msoFalse
        Next i
    End If
    If Digi = 5 Then
        For i = FS To FS + 6
            Set Spe = Shw.Shapes(VBA.Format(i, "0"))
            If i = FS + 1 Or i = FS + 4 Then Spe.Visible = msoFalse
        Next i
    End If
    If Digi = 6 Then
        For i = FS To FS + 6
            Set Spe = Shw.Shapes(VBA.Format(i, "0"))
            If i = FS + 1 Then Spe.Visible = msoFalse
        Next i
    End If
    If Digi = 7 Then
        For i = FS To FS + 6
            Set Spe = Shw.Shapes(VBA.Format(i, "0"))
            If i = FS + 3 Or i = FS + 2 Or i = FS + 4 Or i = FS + 6 Then Spe.Visible = msoFalse
        Next i
    End If
    If Digi = 9 Then
        For i = FS To FS + 6
            Set Spe = Shw.Shapes(VBA.Format(i, "0"))
            If i = FS + 4 Then Spe.Visible = msoFalse
        Next i
    End If
End Sub
 
  • ปิดหน้าต่าง กลับสู่สมุดงาน

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • เพิ่ม VBA อีก 3 ตัว:
  • สำหรับคำสั่ง Start:
Sub Start_Clock()
    Dim Shw As Worksheet
    Set Shw = ActiveSheet
    Shw.Range("B5").Value = ""
    x:
    If Shw.Range("B5").Value = "Stop" Then Exit Sub
    VBA.DoEvents
    Call Digital_Clock_Autoshapes(1, VBA.CInt(VBA.Left(VBA.Format(Time, "HH"), 1)))
    Call Digital_Clock_Autoshapes(8, VBA.CInt(VBA.Right(VBA.Format(Time, "HH"), 1)))
    Call Digital_Clock_Autoshapes(15, VBA.CInt(VBA.Mid(VBA.Format(Time, "HHMM"), 3, 1)))
    Call Digital_Clock_Autoshapes(22, VBA.CInt(VBA.Right(VBA.Format(Time, "HHMM"), 1)))
    Call Digital_Clock_Autoshapes(29, VBA.CInt(VBA.Left(VBA.Format(Time, "SS"), 1)))
    Call Digital_Clock_Autoshapes(36, VBA.CInt(VBA.Right(VBA.Format(Time, "SS"), 1)))
    Dim Spe As Shape
    Set Spe = Shw.Shapes("Point")
    If Application.WorksheetFunction.IsEven(VBA.Second(VBA.Now)) Then
        Spe.Visible = msoCTrue
    Else
        Spe.Visible = msoFalse
    End If
    GoTo x
End Sub
 
  • โค้ดสำหรับ Stop:
Sub Stop_Clock()
    Dim Shw As Worksheet
    Set Shw = ActiveSheet
    Shw.Range("B5").Value = "Stop"
End Sub
  • โค้ดสำหรับ Reset:
Sub Reset_Clock()
    Dim n As Integer, Spe As Shape, Shw As Worksheet
    Set Shw = ActiveSheet
    Dim i As Integer
    For i = 1 To 42
        Set Spe = Shw.Shapes(VBA.Format(i, "0"))
        Spe.Visible = msoCTrue
    Next i
    Set Spe = Shw.Shapes("Point")
    Spe.Visible = msoCTrue
End Sub
  • คลิกขวา Start > Assign Macro

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • กำหนด Start_Clock ให้ Start, Reset_Clock ให้ Reset, Stop_Clock ให้ Stop
  • กด OK

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

  • นาฬิกาดิจิทัลพร้อมปุ่มควบคุมจะปรากฏ

สร้างนาฬิกาดิจิทัลใน Excel: 2 วิธีง่าย VBA และสูตร

อ่านเพิ่มเติม: วิธีสร้างนาฬิกาแบบอนาล็อกใน Excel

ดาวน์โหลดสมุดงานฝึกหัด

บทความเกี่ยวข้อง

  • วิธีสร้าง Clock Chart ใน Excel
  • วิธีใช้ VBA Code สร้างนาฬิกาดิจิทัลใน Excel

รับแบบฝึกหัด Excel ขั้นสูงพร้อมเฉลยฟรี!