Page 1 of 1

เพิ่มข้อแม้ yes, no ก่อน del

Posted: Sat Nov 02, 2019 12:44 pm
by yodpao.b
เพิ่มข้อแม้ yes, no ก่อน del
อยากจะเพิ่ม IF เกียวกับ yes no เพื่อความแน่ใจที่จะทำการลบข้อมูล
ต้องใช้ if อ้างอิงที่ตำแหน่งไหน
ต้องใช้ MsgBox เขียนอย่างไรในต่ำแหน่งไหนครับ
code ที่ใช้อยู่ด้านล่างครับ

Code: Select all

Sub MacroDelPageDataBudge()
' code ค้นหาชื่อเมื่อตรงกันให้ทำการลบข้อมูลให้ตรงกับหัวข้อ

Dim r As Range
Dim i As Integer

    If Sheets("Edit_budget").Range("N8").Value <> "" Then
            With Worksheets("data_budget")
                Set r = .Range(.Range("E12"), .Range("E100000").End(xlUp))
            End With
            For i = r.Rows.Count To 1 Step -1
                If r(i) = Sheets("Edit_budget").Range("N8").Value Then
                        r(i).EntireRow.Delete
                End If
            Next i
            MsgBox "ดำเนินการลบ รหัสเก็บข้อมูล  " & Sheets("Edit_budget").Range("N8") & "  แล้วเสร้จ"
            Range("F4:G4").ClearContents
            Call MacroClearEditBudget
                    Else
                            MsgBox "ยังไม่ดำเนินการลบข้อมูล ให้ทำการคลิกปุ่ม Find เพื่อดำเนินการค้นหาจึงจะดำเนินการลบทั้ง Record ได้้"
    End If
 
End Sub

Re: เพิ่มข้อแม้ yes, no ก่อน del

Posted: Sat Nov 02, 2019 12:53 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

'Other code
Dim ans As VbMsgBoxResult
ans = MsgBox("ดำเนินการลบ รหัสเก็บข้อมูล  " & Sheets("Edit_budget").Range("N8") & "  แล้วเสร้จ")
If ans = vbYes Then
    Range("F4:G4").ClearContents
End If
'Other code

Re: เพิ่มข้อแม้ yes, no ก่อน del

Posted: Sat Nov 02, 2019 1:44 pm
by yodpao.b

Code: Select all

Sub MacroDelPageDataBudge()
' code ค้นหาชื่อเมื่อตรงกันให้ทำการลบข้อมูลให้ตรงกับหัวข้อ

Dim r As Range
Dim i As Integer
Dim ans As VbMsgBoxResult
ans = MsgBox("ดำเนินการลบ รหัสเก็บข้อมูล  " & Sheets("Edit_budget").Range("N8") & "  แล้วเสร้จ")
    
If Sheets("Edit_budget").Range("N8").Value <> "" Then
            With Worksheets("data_budget")
                Set r = .Range(.Range("E12"), .Range("E100000").End(xlUp))
            End With
            
            If ans = vbYes Then
                For i = r.Rows.Count To 1 Step -1
                    If r(i) = Sheets("Edit_budget").Range("N8").Value Then
                            r(i).EntireRow.Delete
                    End If
                Next i
                Range("F4:G4").ClearContents
                 'Call MacroClearEditBudget
            End If
                    Else
                            MsgBox "ยังไม่ดำเนินการลบข้อมูล ให้ทำการคลิกปุ่ม Find เพื่อดำเนินการค้นหาจึงจะดำเนินการลบทั้ง Record ได้้"
End If
End Sub
จาก code เมื่อคลิกปุ่ม del แล้วไม่เห็นขึ้น yes , No เลยครับ
ไม่รู้ว วาง code ไหมแต่มันไม่ขึัน yes no ครับ
0.JPG
1.JPG

Re: เพิ่มข้อแม้ yes, no ก่อน del

Posted: Sat Nov 02, 2019 1:53 pm
by snasui
:D เพิ่ม Argument ให้กับตัวแปร ans เป็นด้านล่างครับ

ans = MsgBox("ดำเนินการลบ รหัสเก็บข้อมูล " & Sheets("Edit_budget").Range("N8") & " แล้วเสร้จ", vbYesNo)

Re: เพิ่มข้อแม้ yes, no ก่อน del

Posted: Sat Nov 02, 2019 2:36 pm
by yodpao.b
ขอบคุณครับ
สวยมากครับรูปแบบนี้