snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
Private Sub Workbook_Open()
Dim openCount As Integer
Const MAX_OPEN_COUNT As Integer = 3
If openCount < MAX_OPEN_COUNT Then ' ตรวจสอบว่าได้เปิดไฟล์เกินจำนวนครั้งที่กำหนดหรือไม่
openCount = openCount + 1 ' เพิ่มจำนวนครั้งที่เปิด
MsgBox "เปิดไฟล์สำเร็จ. คุณได้เปิดไฟล์แล้ว " & openCount & " ครั้ง" ' แสดงข้อความว่าเปิดไฟล์ได้สำเร็จ
Else
MsgBox "ไม่สามารถเปิดไฟล์ได้อีก เนื่องจากเปิดครบจำนวนครั้งแล้ว", vbCritical ' แสดงข้อความเตือนเมื่อเปิดเกินจำนวนครั้ง
Activeworkbook.close
End If
End Sub
Private Sub Workbook_Open()
Dim rsp_Reset As VbMsgBoxResult
With Worksheets(1).Range("a1") '<~~ Change cell address on your needed.
If .Value >= 3 Then
MsgBox "Can't open more than 3 times"
rsp_Reset = MsgBox(prompt:="Click Yes to reset", _
Buttons:=vbYesNo + vbQuestion, Title:="Reset?")
If rsp_Reset = vbYes Then
.Value = 0
End If
'Other code
Else
.Value = .Value + 1
'Other code
End If
End With
ThisWorkbook.Save
End Sub