Page 1 of 1
vba ซ่อน ปุ่ม มีบัค ไม่สามารถกด ย้อนกลับได้
Posted: Mon Mar 28, 2022 11:24 am
by Vespaclassic
สวัสดีครับ
โค้ vba เกี่ยวกับการ ซ่อนปุ่ม button เมื่อรันแล้วใช้งานได้ปกติ
แต่โค้ดมีบัค หรือสูตรผิดผมไม่แน่ใจครับ
อาการที่เจอคือ
1.เมื่อพิมพ์ข้อมูลลงในแผ่นงานแล้วไม่สามารถกด undo หรือย้อนกลับได้
2. ถ้าพิมพ์ตัวเลข 1 2 ลงมา แล้วลากสูตร จะไม่ขึ้น ให้เลือกมุมขวา
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Cells(1, 1).Value <> "" Then
Me.CommandButton1.Visible = True
Else
Me.CommandButton1.Visible = False
End If
Application.ScreenUpdating = True
End Sub
Re: vba ซ่อน ปุ่ม มีบัค ไม่สามารถกด ย้อนกลับได้
Posted: Mon Mar 28, 2022 12:42 pm
by puriwutpokin
ลองปรับเป็น
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
If Cells(1, 1).Value <> "" Then
Me.CommandButton1.Visible = True
Else
Me.CommandButton1.Visible = False
End If
Application.ScreenUpdating = True
End Sub
Re: vba ซ่อน ปุ่ม มีบัค ไม่สามารถกด ย้อนกลับได้
Posted: Mon Mar 28, 2022 2:08 pm
by Vespaclassic
test (1).xlsm
ขอบคุณมากครับ
กด undo ได้ปกติละครับ
แต่ติดปัญหาเพิ่มตรงที่
เซลๆนั้นต้องรับค่าโดยตรงจากคีย์บอร์ด
ถ้าอ้างอิงมาจากเซลอื่นจะไม่ทำงานครับ
จากไฟล์ ถ้าพิมพ์ที่ a1 จะทำงานได้
ถ้า a1 รับค่า มาจาก c1 จะไม่ทำงานครับ
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
If Cells(1, 1).Value = "1" Then
Me.CommandButton1.Visible = True
Sheets("1").Visible = True
Else
Me.CommandButton1.Visible = False
Sheets("1").Visible = False
End If
Application.ScreenUpdating = True
End Sub
puriwutpokin wrote: Mon Mar 28, 2022 12:42 pm
ลองปรับเป็น
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
If Cells(1, 1).Value <> "" Then
Me.CommandButton1.Visible = True
Else
Me.CommandButton1.Visible = False
End If
Application.ScreenUpdating = True
End Sub
Re: vba ซ่อน ปุ่ม มีบัค ไม่สามารถกด ย้อนกลับได้
Posted: Mon Mar 28, 2022 2:50 pm
by puriwutpokin
ุลองแนบไฟล์ ที่เป็นแบบที่แจ้งมาดูครับว่าค่า ที่ใส่เป็นอะไรครับ เพราะ ถ้า 1 กับ "1" จะไม่เหมือนกันในความหมายนี้ครับ
Re: vba ซ่อน ปุ่ม มีบัค ไม่สามารถกด ย้อนกลับได้
Posted: Mon Mar 28, 2022 2:53 pm
by Vespaclassic
puriwutpokin wrote: Mon Mar 28, 2022 2:50 pm
ุลองแนบไฟล์ ที่เป็นแบบที่แจ้งมาดูครับว่าค่า ที่ใส่เป็นอะไรครับ เพราะ ถ้า 1 กับ "1" จะไม่เหมือนกันในความหมายนี้ครับ
อันนี้ครับ
Re: vba ซ่อน ปุ่ม มีบัค ไม่สามารถกด ย้อนกลับได้
Posted: Mon Mar 28, 2022 3:17 pm
by puriwutpokin
VBA Event นั้นต้องการให้มีการแก้ไขโดยตรงที่ เซลนั้นๆ ที่กำหนดไว้ ถ้าเป็นการลิ้งค์ค่ามาน่าจะไม่
ได้ครับ
ไม่ใช่นั้นต้องยกเลิก ส่วนนี้
Code: Select all
'If Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
แต่ก็จะไม่สามารถ Undo ได้เหมือนตอนแรกครับ
Re: vba ซ่อน ปุ่ม มีบัค ไม่สามารถกด ย้อนกลับได้
Posted: Mon Mar 28, 2022 3:27 pm
by Vespaclassic
ขอบคุณครับ
ใช่ครับ
พอยกเลิกส่วนนี้
Code: Select all
If Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
puriwutpokin wrote: Mon Mar 28, 2022 3:17 pm
VBA Event นั้นต้องการให้มีการแก้ไขโดยตรงที่ เซลนั้นๆ ที่กำหนดไว้ ถ้าเป็นการลิ้งค์ค่ามาน่าจะไม่
ได้ครับ
ไม่ใช่นั้นต้องยกเลิก ส่วนนี้
Code: Select all
'If Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
แต่ก็จะไม่สามารถ Undo ได้เหมือนตอนแรกครับ
Re: vba ซ่อน ปุ่ม มีบัค ไม่สามารถกด ย้อนกลับได้
Posted: Mon Mar 28, 2022 10:18 pm
by snasui
ตัวอย่างการปรับ Code ครับ
Code: Select all
Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False
If Cells(1, 1).Value = "1" Then
Me.CommandButton1.Visible = True
Sheets("1").Visible = True
Else
Me.CommandButton1.Visible = False
Sheets("1").Visible = False
End If
Application.ScreenUpdating = True
End Sub
Re: vba ซ่อน ปุ่ม มีบัค ไม่สามารถกด ย้อนกลับได้
Posted: Sat Apr 02, 2022 8:50 am
by Vespaclassic
ขอบคุณครับ ใช้ได้แล้วครับ
ผมใช้เวลาปรับอยู่หลายวันกว่าจะได้
นำโค้ดนี้ไปใส่ไฟล์ใหม่ใช้ได้ปกติ
แต่นำไปใ่ไฟล์ที่ใช้งาน เกิดบัคเหมือนเดิม
Re: vba ซ่อน ปุ่ม มีบัค ไม่สามารถกด ย้อนกลับได้
Posted: Sat Apr 02, 2022 12:05 pm
by snasui
เข้าใจว่าเกิดจากกรณีเดียวกันกับกระทู้นี้ครับ
Worksheet_Calculate