Page 1 of 1

MsgBox กับ IF ไม่ทำตามเงื่อนไขครับ

Posted: Tue Mar 07, 2017 2:32 pm
by myjrcenter
ต้องการให้เมื่อกดปุ่ม พิมพ์และบันทึก ให้ VBA ตรวจสอบใน sheets "ทำรายการ" Range "C8" ว่ามีค่าปรับหรือไม่ ถ้าไม่มีค่าปรับ ให้พิมพ์และบันทึก ถ้ามีตั้งแต่ 1 บาทขึ้นไปให้โชว์ MsgBox กด Yes ให้พิมพ์และบันทึก กด No ให้กลับมาแก้ไขครับ ผมลองเขียนดูแล้วถ้ามีค่าปรับจะได้ผลตามต้องการ แต่ถ้าไม่มีค่าปรับ มันไม่สามารถพิมพ์ได้ รบกวนช่วยตรวจสอบให้ด้วยครับ ขอบคุณครับ

Code: Select all

Sub พิมพ์และบันทึก()

If Worksheets("ทำรายการ").Range("C8") > 0 Then
Dim x As Integer
           x = MsgBox("มีค่าปรับต้องการพิมพ์ต่อใช่หรือไม่", vbYesNo)
           If x = vbNo Then
           Sheets("·ทำรายการ").Range("C8").Select
    Else
    Sheets("ใบเสร็จ¨").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
     End If
    End If
    Sheets("ทำรายการ").Select
    Range("C4").Select
    Sheets("ทำรายการ").Range("C4").Copy
    With Sheets("เก็บข้อมูล")
        .Range("B" & .Range("B" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
    End With
    Range("C4").Select
ActiveWorkbook.save
End Sub

Re: MsgBox กับ IF ไม่ทำตามเงื่อนไขครับ

Posted: Tue Mar 07, 2017 3:19 pm
by puriwutpokin
ปรับเพิ่มเป็น

Code: Select all

Sub ¾ÔÁ¾ìáÅкѹ·Ö¡()

'If Worksheets("·ÓÃÒ¡ÒÃ").Range("C8") > 0 Then ยกเลิกอันนี้
Dim x As Integer
           x = MsgBox("ÁÕ¤èÒ»ÃѺµéͧ¡ÒþÔÁ¾ìµèÍãªèËÃ×ÍäÁè", vbYesNo)
           If x = vbNo Then
           Sheets("·ÓÃÒ¡ÒÃ").Range("C8").Select
    Else
    Sheets("ãºàÊÃç¨").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
     End If
  '  End If ยกเลิกอันนี้
    Sheets("·ÓÃÒ¡ÒÃ").Select
    Range("C4").Select
    Sheets("·ÓÃÒ¡ÒÃ").Range("C4").Copy
    With Sheets("à¡çº¢éÍÁÙÅ")
        .Range("B" & .Range("B" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
    End With
    Range("C4").Select
ActiveWorkbook.Save
End Sub


Re: MsgBox กับ IF ไม่ทำตามเงื่อนไขครับ

Posted: Tue Mar 07, 2017 3:43 pm
by myjrcenter
คือถ้าไม่มีค่าปรับ (เซลล์ C8 มีค่าเป็นศูนย์) ไม่ต้องการให้ MsgBox โชว์ครับ ให้ข้ามไปพิมพ์แล้วก็บันทึกเลยได้มั้ยครับ

Re: MsgBox กับ IF ไม่ทำตามเงื่อนไขครับ

Posted: Tue Mar 07, 2017 4:27 pm
by Serverchita
ปรับให้แล้วครับ

Code: Select all

Sub พิมพ์และบันทึก()

If Worksheets("ทำรายการ").Range("C8") > 0 Then
	Dim x As Integer
        x = MsgBox("มีค่าปรับต้องการพิมพ์ต่อใช่หรือไม่", vbYesNo)
        If x = vbNo Then
           	Sheets("·ทำรายการ").Range("C8").Select
    	Else
    		Sheets("ใบเสร็จ¨").Select
    		ActiveWindow.SelectedSheets.PrintOut Copies:=1
     	End If
 Else
     	Sheets("ใบเสร็จ¨").Select
     	ActiveWindow.SelectedSheets.PrintOut Copies:=1
End If
    Sheets("ทำรายการ").Select
    Range("C4").Select
    Sheets("ทำรายการ").Range("C4").Copy
    With Sheets("เก็บข้อมูล")
        .Range("B" & .Range("B" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
    End With
    Range("C4").Select
ActiveWorkbook.save
End Sub

Re: MsgBox กับ IF ไม่ทำตามเงื่อนไขครับ

Posted: Tue Mar 07, 2017 4:29 pm
by puriwutpokin
ปรับเป็น

Code: Select all

Sub พิมพ์และบันทึก()
If Worksheets("ทำรายการ").Range("C8") > 0 Then
Dim x As Integer
           x = MsgBox("มีค่าปรับต้องการพิมพ์ต่อใช่หรือไม่", vbYesNo)
           If x = vbNo Then
           Sheets("ทำรายการ").Range("C8").Select
    Else
    Sheets("ใบเสร็จ").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    End If
     Else
     If Worksheets("ทำรายการ").Range("C8") = 0 Then
         Sheets("ใบเสร็จ").Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    End If
    End If
    Sheets("ทำรายการ").Select
    Range("C4").Select
    Sheets("ทำรายการ").Range("C4").Copy
    With Sheets("เก็บข้อมูล")
        .Range("B" & .Range("B" & Rows.Count).End(xlUp).Row).Offset(1, 0).PasteSpecial xlPasteValues
    End With
    Range("C4").Select
ActiveWorkbook.Save
End Sub

Re: MsgBox กับ IF ไม่ทำตามเงื่อนไขครับ

Posted: Tue Mar 07, 2017 4:41 pm
by myjrcenter
ใช้โค๊ดของคุณ puriwutpokin ได้ตามที่ต้องการเลยครับ
ขอขอบคุณ คุณ puriwutpokin และ คุณ Serverchita ทั้งสองท่านมากเลยครับ

Re: MsgBox กับ IF ไม่ทำตามเงื่อนไขครับ

Posted: Tue Mar 07, 2017 4:57 pm
by Serverchita
:D :D :D