record macro แล้วไม่ได้ผลลัพธ์ที่ต้องการ
Posted: Mon May 11, 2015 4:00 pm
ใช้ macro บันทึกสูตรที่เป็น Array แต่เมื่อ run ออกมาแล้ว สูตรกลับแสดงค่าเป็น R1C1 ทำให้สูตรไม่ทำงานค่ะ
ตอนบันทึก macro ไม่ได้ใช้ relative references เลยค่ะ ไม่ทราบว่าเกิดจากสาเหตุใด และทำยังไงให้บันทึกออกมาเป็นสูตรปกติได้คะ
ตัวอย่างตามข้างล่างนี้
1. สูตรที่ต้องการ
=IF($V9="","",IF($K9="จำนวนเงิน","Bank-code",INDEX(INDIRECT("code"&$T9),MATCH(1,IF($P9=INDIRECT("amount"&$T9),IF($Y9=INDIRECT("date"&$T9),1)),0))))
2. บันทึก macro แบบนี้
Selection.FormulaArray = _
"=IF(RC22="""","""",IF(RC11=""จำนวนเงิน"",""Bank-code"",INDEX(INDIRECT(""code""&RC20),MATCH(1,IF(RC16=INDIRECT(""amount""&RC20),IF(RC25=INDIRECT(""date""&RC20),1)),0))))"
3. แต่เมื่อ run macro ออกมา สูตรแสดงในชีทเป็นอย่างนี้ค่ะ
={IF(RC22="","",IF(RC11="จำนวนเงิน","Bank-code",INDEX(INDIRECT("code"&RC20),MATCH(1,IF(RC16=INDIRECT("amount"&RC20),IF(RC25=INDIRECT("date"&RC20),1)),0))))}
ขอบพระคุณอย่างสูงค่ะ
ตอนบันทึก macro ไม่ได้ใช้ relative references เลยค่ะ ไม่ทราบว่าเกิดจากสาเหตุใด และทำยังไงให้บันทึกออกมาเป็นสูตรปกติได้คะ
ตัวอย่างตามข้างล่างนี้
1. สูตรที่ต้องการ
=IF($V9="","",IF($K9="จำนวนเงิน","Bank-code",INDEX(INDIRECT("code"&$T9),MATCH(1,IF($P9=INDIRECT("amount"&$T9),IF($Y9=INDIRECT("date"&$T9),1)),0))))
2. บันทึก macro แบบนี้
Selection.FormulaArray = _
"=IF(RC22="""","""",IF(RC11=""จำนวนเงิน"",""Bank-code"",INDEX(INDIRECT(""code""&RC20),MATCH(1,IF(RC16=INDIRECT(""amount""&RC20),IF(RC25=INDIRECT(""date""&RC20),1)),0))))"
3. แต่เมื่อ run macro ออกมา สูตรแสดงในชีทเป็นอย่างนี้ค่ะ
={IF(RC22="","",IF(RC11="จำนวนเงิน","Bank-code",INDEX(INDIRECT("code"&RC20),MATCH(1,IF(RC16=INDIRECT("amount"&RC20),IF(RC25=INDIRECT("date"&RC20),1)),0))))}
ขอบพระคุณอย่างสูงค่ะ