วิธีทำให้รายงานอัตโนมัติใน Excel (พร้อมรูปภาพ)

สารบัญ:

วิธีทำให้รายงานอัตโนมัติใน Excel (พร้อมรูปภาพ)
วิธีทำให้รายงานอัตโนมัติใน Excel (พร้อมรูปภาพ)

วีดีโอ: วิธีทำให้รายงานอัตโนมัติใน Excel (พร้อมรูปภาพ)

วีดีโอ: วิธีทำให้รายงานอัตโนมัติใน Excel (พร้อมรูปภาพ)
วีดีโอ: 4 เคล็ดลับ กองหลัง ที่จะทำให้กองหน้ากลัวคุณ😱 #football #footballshorts 2024, อาจ
Anonim

Microsoft Excel มีคุณสมบัติหลากหลาย และหนึ่งในนั้นกำลังสร้างรายงานโดยอัตโนมัติ คุณสามารถสร้างสเปรดชีตแบบโต้ตอบเพื่อลดความซับซ้อนของกระบวนการป้อนข้อมูลสำหรับผู้อื่นในเวิร์กบุ๊ก ในขณะเดียวกันก็สร้างรายงานโดยอัตโนมัติ คุณลักษณะทั้งสองนี้ต้องการความรู้ที่เพียงพอเกี่ยวกับ Visual Basic ขั้นตอนในการดำเนินการทั้งสองมีอธิบายไว้ด้านล่าง

ขั้นตอน

วิธีที่ 1 จาก 2: การสร้างสเปรดชีตเชิงโต้ตอบ

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 1
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 1

ขั้นตอนที่ 1 กำหนดเค้าโครงของสเปรดชีต

เค้าโครงของสเปรดชีตต้องทำเพื่อให้ผู้อื่นสามารถค้นหาฟิลด์ที่จำเป็นในการป้อนข้อมูล

เค้าโครงสเปรดชีตสามารถจัดวางในแนวนอนหรือแนวตั้ง ผู้ใช้ส่วนใหญ่ใช้งานเลย์เอาต์แนวตั้งได้ง่ายขึ้น โดยเฉพาะถ้าจะพิมพ์สเปรดชีต

รายงานอัตโนมัติใน Excel ขั้นตอนที่2
รายงานอัตโนมัติใน Excel ขั้นตอนที่2

ขั้นตอนที่ 2 สร้างป้ายกำกับข้อความสำหรับสเปรดชีต

เขียนป้ายกำกับที่ด้านบนสุดของแต่ละคอลัมน์ และทางด้านซ้ายของแต่ละเซลล์ในคอลัมน์ที่คุณวางแผนจะใช้เป็นรายการข้อมูล

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 3
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 3

ขั้นตอนที่ 3 กดปุ่ม alt=""Image" และ F11 พร้อมกัน</h4" />

คีย์ผสมนี้จะเปิดโปรแกรมแก้ไข Microsoft Visual Basic

รายงานอัตโนมัติใน Excel ขั้นตอนที่4
รายงานอัตโนมัติใน Excel ขั้นตอนที่4

ขั้นตอนที่ 4 ดับเบิลคลิก "สมุดงานนี้" ในบานหน้าต่าง "โครงการ-VBA โครงการ" ที่ด้านบนซ้าย

หน้าต่างสำหรับเขียนโค้ดจะปรากฏในส่วนหลักของตัวแก้ไข

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 5
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 5

ขั้นตอนที่ 5. เลือก "ขั้นตอน" จากเมนูแทรก

กล่องโต้ตอบเพิ่มขั้นตอนจะปรากฏขึ้น

รายงานอัตโนมัติใน Excel ขั้นตอนที่6
รายงานอัตโนมัติใน Excel ขั้นตอนที่6

ขั้นตอนที่ 6 ป้อนชื่อของขั้นตอนในฟิลด์ชื่อ

ป้อนชื่อที่สื่อความหมายสำหรับขั้นตอน เช่น "SumExpenses" หากจะใช้สเปรดชีตเพื่อรายงานค่าใช้จ่ายในการเดินทาง คลิกตกลงเพื่อปิดกล่องโต้ตอบ

  • ชื่อโปรซีเจอร์ต้องไม่มีช่องว่าง แต่สามารถใช้ขีดล่าง (_) เพื่อแทนที่ช่องว่างได้
  • หลังจากที่กล่องโต้ตอบเพิ่มขั้นตอนปิดลง จะมีบรรทัดปรากฏขึ้นว่า "ย่อยสาธารณะ" ตามด้วยชื่อของขั้นตอน ด้านล่างบรรทัดนั้นมีช่องว่างและคำว่า "End Sub"
รายงานอัตโนมัติใน Excel ขั้นตอนที่7
รายงานอัตโนมัติใน Excel ขั้นตอนที่7

ขั้นตอนที่ 7 ป้อนรหัสสำหรับแต่ละช่องป้อนข้อมูลในสเปรดชีต

คุณจะเขียนโค้ดสองบรรทัดสำหรับแต่ละรายการ

  • รหัสบรรทัดแรกอยู่ในรูปแบบ "Range("cellname")). Select", "cellname" หมายถึงเซลล์ที่ป้อนข้อมูล กรอกชื่อเซลล์ที่อยู่ทางขวาของป้ายข้อความ ถ้าป้ายข้อความอยู่ในเซลล์ A2 ฟิลด์สำหรับป้อนข้อมูลคือเซลล์ B2 (ช่วง("B2")). เลือก) เครื่องหมายอัญประกาศก่อนและหลังชื่อเซลล์จะยังคงเขียนอยู่ในขั้นตอนนี้ แต่จะไม่รวมอยู่ในคำสั่งรหัสที่สมบูรณ์อีกต่อไป
  • รหัสในบรรทัดที่สองคือ "ActiveCell. Value = InputBox("InputPrompt")" "InputPrompt" หมายถึงข้อความที่ปรากฏขึ้นเพื่อแจ้งให้ผู้ใช้ทราบถึงประเภทของข้อมูลที่จะป้อนลงในเซลล์อินพุต ตัวอย่างเช่น หากเซลล์ป้อนข้อมูลจะเต็มไปด้วยค่าอาหาร ให้แทนที่ "InputPrompt" ด้วย "ป้อนค่าใช้จ่ายทั้งหมดสำหรับค่าอาหาร รวมถึงทิป" (เครื่องหมายอัญประกาศสำหรับข้อความคำสั่งป้อนยังคงรวมอยู่ ในขณะที่ไม่จำเป็นต้องเขียนเครื่องหมายอัญประกาศก่อนและหลังคำสั่ง)
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 8
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 8

ขั้นตอนที่ 8 ป้อนรหัสสำหรับแต่ละฟิลด์การคำนวณ

อีกครั้ง สองบรรทัดที่ใช้ยังคงเหมือนเดิม แต่คราวนี้ ActiveCell. Value เป็นการคำนวณของฟังก์ชันตัวเลข เช่น SUM โดยที่ฟังก์ชัน InputBox จะใช้เพื่อแสดงคำแนะนำในการป้อนข้อมูล

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 9
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 9

ขั้นตอนที่ 9 เพิ่มบรรทัดของรหัสเพื่อบันทึกสเปรดชีตแบบโต้ตอบของคุณ

รูปแบบคือ "ActiveWorkbook. SaveAs Filename:="Filename.xls" "Filename" คือชื่อของสเปรดชีตแบบโต้ตอบ (เครื่องหมายคำพูดก่อนและหลัง "Filename.xls" จะยังคงเขียนอยู่ ในขณะที่เครื่องหมายคำพูดสำหรับคำสั่งทั้งหมดจะเป็น ไม่ต้องการ.)

หากคุณใช้ Microsoft Excel เวอร์ชัน 2007 หรือใหม่กว่า ให้ใช้ ".xlsx" แทน ".xls" อย่างไรก็ตาม หากมีผู้ใช้สเปรดชีตเชิงโต้ตอบที่มีเวอร์ชัน Excel 2003 หรือต่ำกว่า พวกเขาจะไม่สามารถใช้สเปรดชีตได้หากไม่มีปลั๊กอินตัวอ่าน

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 10
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 10

ขั้นตอนที่ 10 กดปุ่ม alt=""Image" และ Q พร้อมกัน</h4" />

ตัวแก้ไข Visual Basic จะปิดลง

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 11
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 11

ขั้นตอนที่ 11 กดปุ่ม alt=""Image" และ F8 พร้อมกัน</h4" />

กล่องโต้ตอบมาโครจะปรากฏขึ้น

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 12
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 12

ขั้นตอนที่ 12. คลิกชื่อขั้นตอนในรายการมาโคร

หากขั้นตอนที่สร้างขึ้นเป็นเพียงขั้นตอนเดียวในรายการ ระบบจะเลือกขั้นตอนนั้นโดยอัตโนมัติ

รายงานอัตโนมัติใน Excel ขั้นตอนที่13
รายงานอัตโนมัติใน Excel ขั้นตอนที่13

ขั้นตอนที่ 13 คลิกปุ่มตัวเลือก

คุณจะถูกขอให้ป้อนอักขระบนแป้นพิมพ์เพื่อใช้เป็นทางลัดด้วยปุ่ม Ctrl เลือกตัวอักษรที่มีความหมายที่ไม่ได้ถูกใช้เป็นอักขระทางลัด เช่น "e" สำหรับ "entry"

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 14
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 14

ขั้นตอนที่ 14 คลิก "ตกลง" เพื่อปิดกล่องโต้ตอบตัวเลือกมาโคร

ตอนนี้คุณสามารถแจกจ่ายสเปรดชีตแบบโต้ตอบให้กับผู้ใช้ได้ หลังจากเปิดแล้ว ผู้ใช้สามารถใช้ปุ่มลัดเพื่อสร้างรายการและปฏิบัติตามคำแนะนำที่คุณสร้างขึ้นเพื่อกรอกข้อมูล

วิธีที่ 2 จาก 2: สร้างรายงานโดยอัตโนมัติ

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 15
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 15

ขั้นตอนที่ 1. สร้างรายงานใน PivotTable

PivotTables ได้รับการออกแบบมาเพื่อสรุปข้อมูล เพื่อให้คุณสามารถเปรียบเทียบตัวเลขและระบุแนวโน้มได้ PivotTable ต้องเกี่ยวข้องกับข้อมูลที่อยู่ในตัวประมวลผลข้อมูลตัวใดตัวหนึ่งหรือนำเข้าจากฐานข้อมูลเฉพาะ

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 16
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 16

ขั้นตอนที่ 2 เขียนสคริปต์ Visual Basic เพื่อเปิดและปิดรายงาน

สคริปต์ควรจะสามารถทำหน้าที่ต่างๆ ตามรายการด้านล่าง แต่ละฟังก์ชันจะอธิบายตามด้วยโค้ดที่ระบุในวงเล็บเพื่อนำไปใช้งาน เมื่อเขียนโค้ดจริง ให้เขียนในบล็อกเดียว แทนที่ชื่อในตัวอย่างด้วยชื่อของคุณเอง และอย่าใส่วงเล็บที่จุดเริ่มต้นและจุดสิ้นสุดของตัวอย่างโค้ด

  • เปิดสเปรดชีตในโหมดอ่านอย่างเดียว [DIM XLAppSet XLApp = CreateObject("Excel. App")xlapp.visible=falsexlapp.workbooks.open \excelloc\filename.xls, 3,]
  • โหลดข้อมูลซ้ำและบันทึกรายงาน ในตัวอย่างนี้ ข้อมูลจะถูกบันทึกเป็น PDF พร้อมคำบรรยายวันที่ [Truexlapp.activeworkbook. RefreshAllxlapp.activeworkbook. ExportAsFixedFormat xlTypePDF, \pdfloc\reportname_ & DatePart("yyyy, Now()) & "-" & Right("0" & DatePart("m", Now()), 2) & "-" Right("0" & DatePart("d", Now()), 2) & ".pdf"] หากรูปแบบเอกสารที่ส่งออกแตกต่างกัน ให้แทนที่รูปแบบ ".pdf" ด้วย ส่วนต่อขยายที่เหมาะสมตามต้องการ
  • ปิดสเปรดชีตโดยไม่บันทึก จากนั้นปิด Excel [xlQualityStandardxlapp.activeworkbook.close Falsexlapp.quit]
  • ใช้ ".xlsx" แทน ".xls" ที่ส่วนท้ายของสเปรดชีต ถ้าสเปรดชีตถูกบันทึกใน Excel 2007 และรูปแบบ XML ที่ใหม่กว่า
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 17
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 17

ขั้นตอนที่ 3 เขียนสคริปต์ชุดงานเพื่อเริ่มสคริปต์ Visual Basic

จุดประสงค์ในการเขียนสคริปต์คือเพื่อให้สคริปต์ Visual Basic ทำงานโดยอัตโนมัติ หากไม่มีแบตช์สคริปต์ สคริปต์ VB จะต้องทำงานด้วยตนเอง

สคริปต์เขียนในรูปแบบต่อไปนี้ แทนที่ด้วยชื่อโฟลเดอร์และชื่อไฟล์ของคุณเองสำหรับชื่อที่ระบุในตัวอย่างนี้: [cscript /nologo \fileloc\script.vbs]

รายงานอัตโนมัติใน Excel ขั้นตอนที่ 18
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 18

ขั้นตอนที่ 4 เขียนแบตช์สคริปต์เพื่อให้แน่ใจว่าไฟล์เอาต์พุตมีอยู่ตามที่สร้างขึ้น

สคริปต์ของคุณควรทำหน้าที่ด้านล่าง แต่ละฟังก์ชันจะตามด้วยโค้ดที่ระบุในวงเล็บเพื่อนำไปใช้งาน เมื่อเขียนโค้ดจริง ให้เขียนในบล็อกเดียว แทนที่ชื่อในตัวอย่างด้วยชื่อที่คุณต้องการ และอย่าใส่วงเล็บที่จุดเริ่มต้นและจุดสิ้นสุดของโค้ดตัวอย่าง

  • ตรวจสอบว่ามีไฟล์เอาต์พุตหรือไม่ [สำหรับ /f "tokens=2-4 delims=/ " %%a in ('date /t') do set rreport=reportname_%%c-%%a-%%b.pdf)] หากรูปแบบไฟล์ที่ส่งออก ไม่ใช่ PDF ให้แทนที่ ".pdf" ด้วยนามสกุลที่เหมาะสม
  • หากมีไฟล์/รายงานที่ส่งออก ให้ส่งเป็นอีเมลไปยังบุคคลที่ต้องการ [ถ้ามี \pdfloc\%rreport% (sendmail -f [email protected] -t [email protected] -u Scheduled Report -m Report %%report% แนบมาด้วย -a \pdfloc\%rreport% -s yourserver:port -xu username -xp password)]
  • หากไม่มีไฟล์/รายงานเอาต์พุตในตำแหน่งที่ระบุ ให้สร้างขั้นตอนเพื่อให้สามารถส่งข้อความแจ้งว่าการส่งล้มเหลว [อื่น ๆ (sendmail -f [email protected] -t [email protected] -u Report ไม่ทำงาน -m file %rreport% ไม่มีอยู่ใน \pdfloc\ -s yourserver:port -xu username -xp password)]
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 19
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 19

ขั้นตอนที่ 5. ตรวจสอบให้แน่ใจว่าโฟลเดอร์ "เดสก์ท็อป" อยู่ในคอมพิวเตอร์

คุณต้องตรวจสอบการมีอยู่ของโฟลเดอร์เดสก์ท็อปสำหรับทั้งระบบ 32 บิตและ 64 บิต มิฉะนั้น ต้องเปิด Excel และสเปรดชีตด้วยตนเอง

  • ตำแหน่งระบบ 32 บิต: c:\windows\system32\config\systemprofile
  • ตำแหน่งระบบ 64 บิต: c:\windows\syswow64\config\systemprofile
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 20
รายงานอัตโนมัติใน Excel ขั้นตอนที่ 20

ขั้นตอนที่ 6 กำหนดเวลางานเพื่อเรียกใช้สคริปต์ตามต้องการ

สคริปต์แบทช์ต้องดำเนินการตามลำดับและต่อเนื่อง แม้ว่าจะไม่มีใครใช้คอมพิวเตอร์อยู่ก็ตาม ต้องตั้งค่าสิทธิ์เป็นการตั้งค่าสูงสุด

แนะนำ: