
ตัวอย่างการปรับ Code และคงจะมีปัญหาในเรื่องการหาคอลัมน์สุดท้ายที่จะใช้งาน
Code: Select all
'Other code
Range(lstCol).Offset(1, 0).Resize(50, 1).Formula = "='" & CurrDir & "\[" & fileName & "]C2T1'!N8"
'Other code
ไฟล์ "ดึงคะแนนตัวเทพ.xlsm" ที่แนบมาต้องการจะหาคอลัมน์สุดท้ายจากบรรท้ดใดและเหตุใดจึงไปหาคอลัมน์สุดท้ายจากบรรท้ัดนั้น อธิบายมาอย่างละเอียดครับ
บรรทัดเริ่มของไฟล์นี้คือบรรทัดที 4 จึงไม่ควรไปหาคอลัมน์สุดท้ายที่มีข้อมูลของบรรทัดที่ 7 นอกจากนี้ Code สำหรับการหาคอลัมน์สุดท้ายที่ผมตอบไปนั้น จะเป็นการไปยังคอลัมน์สุดท้ายของ Worksheet ก่อน แล้วค่อยวิ่งกลับมายังเซลล์แรกที่มีข้อมูลในบรรทัดนั้น หากในบรรรทัดนั้น ๆ มีค่าใด ๆ อยู่ก่อนพื้นที่เป้าหมาย อาจจะได้คำตอบที่ไม่ถูกต้อง จำเป็นต้องปรับให้ตรงกับที่จะใช้งานจริง เช่นปรับเป็น
cells(7,"S").end(xltoleft) เป็นต้น
สิ่งที่เป็นปัญหาอีกกรณีคือยังไม่เข้าใจเรื่องการอ้างอิงแบบข้ามไฟล์ สังเกตเครื่องหมายก้ามปูที่ผมใช้ว่าใช้อย่างไร ให้พิจารณาใช้ตามนั้นในทุก ๆ Statement ที่เกี่ยวข้อง เครื่องหมายก้ามปูจะใช้ครอบชื่อไฟล์เสมอ อาจะจะต้องตามไปแก้ไข Code อื่น ๆ เพื่อให้เป็นลักษณะเดียวกัน
ีอีกปัญหาคือเครื่องหมาย Single Quote (
') สังเกตว่าผมใช้อย่างไร ให้ใช้ตามนั้นเช่นกัน สิ่งเหล่านี้จะต้องทราบโดยละเอียดหากต้องการจะใช้สูตรการ Link ข้ามไฟล วิธีการสังเกตง่าย ๆ คือให้ดู Link ที่ถูกต้องว่าประกอบด้วยอักขระใด อยู่ตำแหน่งใด ในการเขียน Code ก็จะต้องคำนึงถึงอักขระนั้น ๆ อย่างเคร่งครัดครับ