Page 1 of 1

กำหนดค่า Macro VBA เมื่อ Copyจากไฟล์ Word มาวางใน Excelยังไงครับ

Posted: Sun Oct 25, 2020 11:45 am
by chinnapong
ปัญหาเมื่อเรา Copy จากไฟล์ Word ที่นามสกุล (.rtf) ที่เปิดไฟล์แล้วกด Ctrl + C แล้วมา กดวางปุ่มวางใน Excel ต้องกำหนดค่า Code VBA
ยังไงครับ กำหนดแล้วค่าที่เรา Copy ใน Code แล้วข้อมูลไม่มาครับ ขอแนวทาง Code ด้วยครับอาจารย์.

Code: Select all

Sub Paste()
 Range("C1").Select
    With Sheets("GAP")
    If Application.CutCopyMode Then
    Range("C1").Select
    ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
        False, NoHTMLFormatting:=True
    ActiveSheet.Range("$W$4:$AP$400").AutoFilter Field:=13, Criteria1:="<>"
    MsgBox "วางข้อมูลเรียบร้อย ALC โปรดตรวจสอบข้อมูลอีกครั้ง", vbInformation, "ข้อความประกาศ"
        Else
    MsgBox "Please copy first.", vbExclamation
    End If
End With
End Sub

Re: กำหนดค่า Macro VBA เมื่อ Copyจากไฟล์ Word มาวางใน Excelยังไงครับ

Posted: Tue Oct 27, 2020 10:00 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
With Sheets("GAP")
    Range("C1").Select
    ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
        False, NoHTMLFormatting:=True
    ActiveSheet.Range("$W$4:$AP$400").AutoFilter Field:=13, Criteria1:="<>"
    MsgBox "วางข้อมูลเรียบร้อย ALC โปรดตรวจสอบข้อมูลอีกครั้ง", vbInformation, "ข้อความประกาศ"
    If .Range("c1").Value = "" Then
        MsgBox "Please copy first.", vbExclamation
    End If
End With
'Other code

Re: กำหนดค่า Macro VBA เมื่อ Copyจากไฟล์ Word มาวางใน Excelยังไงครับ

Posted: Thu Oct 29, 2020 10:33 am
by chinnapong
snasui wrote: Tue Oct 27, 2020 10:00 pm :D ตัวอย่างการปรับ Code ครับ

Code: Select all

'Other code
With Sheets("GAP")
    Range("C1").Select
    ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
        False, NoHTMLFormatting:=True
    ActiveSheet.Range("$W$4:$AP$400").AutoFilter Field:=13, Criteria1:="<>"
    MsgBox "วางข้อมูลเรียบร้อย ALC โปรดตรวจสอบข้อมูลอีกครั้ง", vbInformation, "ข้อความประกาศ"
    If .Range("c1").Value = "" Then
        MsgBox "Please copy first.", vbExclamation
    End If
End With
'Other code
ผมได้ลอง Code ที่อาจารย์ปรับ Code มาลองดูมารันแล้ว error สาเหตุมาจาก สมมุติเราลืม Copy ข้อมูลมาแล้วมากดรันเลย
ไม่มีข้อมูล Copy ใน Clipboard จึงทำให้เปิดการ error ครับ
แนวทางแก้ : อยากให้เวลาเรากดรันทั้งๆยังไม่มีข้อมูล Copy ใน Clipboard มีข้อความแจ้งเตือนหรือไม่เกิดอะไรขึ้นเลยครับ ขอบคุณครับ
ตัวอย่างรูปครับ
Image

Image

Re: กำหนดค่า Macro VBA เมื่อ Copyจากไฟล์ Word มาวางใน Excelยังไงครับ

Posted: Sat Oct 31, 2020 10:47 am
by snasui
:D ลองดักด้วย On Error Resume Next เข้าไปก่อนบรรทัด with ดูก่อน ได้ผลเป็นอยา่งไรแจ้งด้วยครับ