snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
เปลี่ยนสูตรที่กำหนดให้กับ Range Name ตามด้านล่าง
Formout =OFFSET(Formout!$A$14,0,0,COUNTIF(Formout!$A$14:$A$28,"?*"),23)
Record =OFFSET(Reference,COUNTA(Record!$A:$A)-2, 0, 1, 23)
Sub CopyToAllData()
On Error Resume Next
Application.Goto Reference:="Formout"
Selection.Copy
Application.Goto Reference:="Record"
Selection.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Range("A2").Select
Sheets("Formout").Select
Range("A14:W28").Select
Application.ScreenUpdating = True
'Clear the data
Range("Formout").Cells(14, 9).Value = ""
End Sub
Amkung wrote:อาจารย์คะ พอคลิกที่ปุ่ม Record แล้วขึ้นว่า
Run-time error '1004':
Reference is not Valid
พอคลิกที่ปุ้ม Debug
จะขึ้นแถบสีเหลืองที่สูตรบรรทัด
Application.Goto Reference:="Formout"
จะแก้ไขยังไงดีคะ
เนื่องจากสูตรที่ให้ไว้กับ Range Name ไม่ถูกต้องครับ ลองทบทวนด้านล่างนี้อีกรอบ
snasui wrote:ลองตามนี้ครับ
เปลี่ยนสูตรที่กำหนดให้กับ Range Name ตามด้านล่าง
Formout =OFFSET(Formout!$A$14,0,0,COUNTIF(Formout!$A$14:$A$28,"?*"),23)
Record =OFFSET(Reference,COUNTA(Record!$A:$A)-2, 0, 1, 23)