Page 1 of 1

อยากให้Sheet1 พิมพ์ข้อความตามจากSheet2-100 ตามเซลล์ที่กำหนด

Posted: Tue Jan 29, 2019 12:07 pm
by nosnara
https://www.picz.in.th/image/T34QEv
https://www.picz.in.th/image/T34xkk

มือใหม่นะครับ
คือเป็นไฟล์ออกใบกำกับภาษี

Sheet แรกสุดจะเป็นสรุปของแต่ละเดือน
Sheet ต่อๆไปจะเป็นใบกำกับภาษี 1Sheet/1ใบเสร็จ/1คน
คราวนี้เวลาจะออกใบกำกับภาษี ก็ใช้วิธี Add New Sheet เอา

ในวงกลมเขียว คือ เลขที่ใบเสร็จ
เลขนี้ต้องกรอกมือ 3 จุด
1.ในSheet ใบกำกับภาษีของลูกค้า
2.เปลี่ยนชื่อ Sheet
3.ในหน้าแรก(หน้าสรุปของแต่ละเดือน)

มีวิธีให้ หน้าสรุป(ในวงกลมเขียว) มันกรอกข้อมูลเองไหมครับ
เวลาเราเพิ่ม Sheet2 แล้วกำหนดว่า ถ้ามีการพิมพ์ตัวเลขลงบนช่อง A1
ให้ตัวเลขนี้ไปปรากฎบนช่อง E1 ของSheet1 พร้อมกับ เปลี่ยนชื่อSheet2 เป็นชื่อเดียวกับช่องA1 ด้วย

ยกตัวอย่าง
Sheet2 เซลล์ A1 เขียนว่า 1901001
ต้องการให้ Sheet1 เซลล์ E1 พิมพ์ข้อมูลอัตโนมัติว่า 1901001
ในขณะเดียวกัน Sheet Name ของ Sheet2 ต้องเปลี่ยนชื่อเป็น 1901001 ด้วย

และต้องการให้ทุกครั้งที่เพิ่ม Sheet ใหม่จะเป็นสูตรอย่างนี้เสมอ

เช่น Sheet2 ช่องA1 เขียนว่า 1901001 ก็ให้ไปปรากฎบน Sheet1 ช่องE1
เมื่อสร้างSheet3 ก็ให้ช่องA1 ที่เขียนว่า 1901002 ไปปรากฎบน Sheet1 ช่องE2
เมื่อสร้าง Sheet4 ก็ให้ช่อง A1 ที่เขียนว่า 1901003 ไปปรากฎบนSheet1 ช่องE3
รันไปเรื่อยๆแบบนี้


ได้ไหมครับ
ขอบคุณครับ
(ถ้าผมอธิบายไม่เข้าใจ บอกได้เลยนะครับ)

เพิ่มไฟล์ตัวอย่างให้ครับ

Re: อยากให้Sheet1 พิมพ์ข้อความตามจากSheet2-100 ตามเซลล์ที่กำหนด

Posted: Tue Jan 29, 2019 12:13 pm
by puriwutpokin
ควรทำไฟล์ตัวอย่างมาครับ แต่เบื้องต้น ที่ให้ชื่อชีท เปลี่ยนไปตามค่าในนั้นๆ คงต้องใช้ VBA ครับ ลองเขียนมาก่อนครับ
แก้ไปที่ละเรื่องครับ จะได้ไม่สับสนครับ

Re: อยากให้Sheet1 พิมพ์ข้อความตามจากSheet2-100 ตามเซลล์ที่กำหนด

Posted: Tue Jan 29, 2019 12:53 pm
by nosnara
puriwutpokin wrote: Tue Jan 29, 2019 12:13 pm ควรทำไฟล์ตัวอย่างมาครับ แต่เบื้องต้น ที่ให้ชื่อชีท เปลี่ยนไปตามค่าในนั้นๆ คงต้องใช้ VBA ครับ ลองเขียนมาก่อนครับ
แก้ไปที่ละเรื่องครับ จะได้ไม่สับสนครับ
แนบไฟล์ตัวอย่างให้ในโพสแล้วครับ
ไฮไลท์สีแดง คือจุดที่ให้ทดลองแก้ไขครับ
ขอบคุณครับ

เพิ่มเติม code VBA ครับ พอดีแก้ไขที่โพสไม่ได้แล้ว
https://drive.google.com/file/d/1Vatc41 ... sp=sharing

เนื่องจากผมไม่เก่งเรื่อง VBA เลยครับ code ที่เขียนก็อาศัยCopy มาจากในบอร์ด
เบื้องต้น ลองรันโค้ตแล้วติดบัคครับ ลองแก้ด้วยตัวเองแล้ว แก้ไม่ได้ครับ

Re: อยากให้Sheet1 พิมพ์ข้อความตามจากSheet2-100 ตามเซลล์ที่กำหนด

Posted: Tue Jan 29, 2019 1:52 pm
by puriwutpokin
ตอบอันแรก ครับที่ชีท JAN19
ที่ A16=IFERROR(INDIRECT("'"&TEXT(RIGHT(CELL("filename",A1),5)+0,"YYMM")&RIGHT("00"&ROWS(A$16:A16),3)&"'!I10"),"")
ที่ C16=IFERROR(INDIRECT("'"&TEXT(RIGHT(CELL("filename",A1),5)+0,"YYMM")&RIGHT("00"&ROWS(C$16:C16),3)&"'!C9"),"")
ที่ G16=IFERROR(INDIRECT("'"&TEXT(RIGHT(CELL("filename",A1),5)+0,"YYMM")&RIGHT("00"&ROWS(G$16:G16),3)&"'!I28"),"")
ทั้งหมดคัดลองลงครับ