ป้อนอัตโนมัติอัจฉริยะลงและขวา

เนื้อหา

จวบจนบัดนี้ ข้าพเจ้ายังจำการฝึกภาคสนามครั้งแรกเมื่อ 10 ปีที่แล้วได้ด้วยรอยยิ้ม

Imagine: the open space office of the representative office of an international FMCG company, huge as a football field. Chic design, expensive office equipment, dress code, expats cooing in the corners – that’s all 🙂 In one of the meeting rooms, I start a two-day advanced training on the then current version of Excel 2003 for 15 key employees of the economic department, along with their leader. We get acquainted, I ask them about business tasks, problems, I ask them to show several typical work files. They show the kilometer length of unloading from SAP, the sheets of reports that they make on this, etc. Well, it’s a familiar thing – I mentally figure out topics and timing, adjust to the audience. Out of the corner of my eye, I notice how one of the participants, demonstrating a piece of his report, patiently pulls the cell with the formula down by the black cross in the lower right corner for several thousand lines, then skips the end of the table on the fly, pulls it back, etc. Unable to stand it, I interrupt him curling the mouse around the screen and show a double-click on the black cross, explaining about auto-completion down to the stop. 

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

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

หลายครั้งต่อมามีสถานการณ์ที่คล้ายกัน แต่เฉพาะกับผู้ฟังแต่ละคนเท่านั้น - แน่นอนว่าตอนนี้ส่วนใหญ่รู้จักฟังก์ชั่นนี้ 

ป้อนอัตโนมัติอัจฉริยะลงและขวาคำถามนั้นแตกต่างกัน หลังจากความสุขครั้งแรกของการเรียนรู้คุณลักษณะที่ยอดเยี่ยมดังกล่าว ผู้ใช้ส่วนใหญ่จะเข้าใจว่าการคัดลอกสูตรอัตโนมัติโดยดับเบิลคลิกบนเครื่องหมายกากบาทสีดำ (เครื่องหมายเติมข้อความอัตโนมัติ) มีทั้งด้านบวกและด้านลบ:

  • การคัดลอกไม่ได้เกิดขึ้นที่ส่วนท้ายของตารางเสมอไป. ถ้าตารางไม่ใช่เสาหิน กล่าวคือ มีเซลล์ว่างในคอลัมน์ที่อยู่ติดกัน การเติมข้อความอัตโนมัติจะทำงานได้จนถึงจุดสิ้นสุดของตาราง เป็นไปได้มากว่ากระบวนการจะหยุดที่เซลล์ว่างที่ใกล้ที่สุดก่อนที่จะถึงจุดสิ้นสุด หากมีบางสิ่งใต้คอลัมน์ครอบครองเซลล์ การเติมข้อความอัตโนมัติจะหยุดที่เซลล์นั้นทุกประการ
  • เมื่อคัดลอก การออกแบบเซลล์ทำให้เสียเพราะตามค่าเริ่มต้น ไม่เพียงแต่จะคัดลอกสูตรเท่านั้น แต่ยังรวมถึงรูปแบบด้วย หากต้องการแก้ไข ให้คลิกที่ปุ่มตัวเลือกการคัดลอกและเลือก ค่าเท่านั้น (กรอกโดยไม่มีรูปแบบ).
  • ไม่มีทางสะดวกรวดเร็วในการยืดสูตรได้เช่นกัน ไม่ลงแต่ไปทางขวายกเว้นดึงด้วยมือ ดับเบิ้ลคลิกบนกากบาทสีดำนั้นอยู่ด้านล่าง

มาลองแก้ไขข้อบกพร่องเหล่านี้ด้วยมาโครง่ายๆ

กดแป้นพิมพ์ลัดซ้าย Alt + F11 หรือปุ่ม ของ Visual Basic แถบ ผู้พัฒนา (ผู้พัฒนา). แทรกโมดูลเปล่าใหม่ผ่านเมนู แทรก – โมดูล และคัดลอกข้อความของมาโครเหล่านี้ที่นั่น:

Sub SmartFillDown() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(0, -1).CurrentRegion If rng.Cells.Count > 1 จากนั้น n = rng.Cells(1).Row + rng.Rows นับ - ActiveCell.Row ActiveCell.AutoFill ปลายทาง:=ActiveCell.Resize(n, 1), Type:=xlFillValues ​​End If End Sub Sub SmartFillRight() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(-1, 0).CurrentRegion ถ้า rng.Cells.Count > 1 แล้ว n = rng.Cells(1).Column + rng.Columns.Count - ActiveCell.Column ActiveCell.AutoFill Destination:=ActiveCell.Resize(1, n), Type: =xlFillValues ​​สิ้นสุดถ้าสิ้นสุด Sub  

มาโครดังกล่าว:

  • กรอกได้ไม่เพียงแค่ลง (SmartFillDown) แต่ยังกรอกทางขวา (SmartFillRight)
  • อย่าทำให้รูปแบบของเซลล์ด้านล่างหรือด้านขวาเสียหาย - คัดลอกเฉพาะสูตร (ค่า) เท่านั้น
  • เซลล์ว่างที่อยู่ติดกันจะถูกละเว้น และการคัดลอกจะเกิดขึ้นตรงส่วนท้ายของตาราง ไม่ใช่ช่องว่างที่ใกล้ที่สุดในข้อมูลหรือเซลล์แรกที่ถูกครอบครอง

เพื่อความสะดวกยิ่งขึ้น คุณสามารถกำหนดแป้นพิมพ์ลัดให้กับมาโครเหล่านี้โดยใช้ปุ่ม มาโคร – ตัวเลือก (มาโคร — ตัวเลือก) ตรงนั้นบนแท็บ ผู้พัฒนา (ผู้พัฒนา). ตอนนี้ก็เพียงพอที่จะป้อนสูตรหรือค่าที่ต้องการในเซลล์แรกของคอลัมน์แล้วกดคีย์ผสมที่ระบุสำหรับมาโครเพื่อเติมทั้งคอลัมน์โดยอัตโนมัติ (หรือแถว):

ความงาม

PS ส่วนหนึ่งของปัญหาในการคัดลอกสูตรไปยังส่วนท้ายของตารางได้รับการแก้ไขใน Excel 2007 ด้วยการถือกำเนิดของ "ตารางอัจฉริยะ" จริงอยู่ไม่เสมอไปและไม่เหมาะสมทุกที่ และทางด้านขวา Excel ไม่เคยเรียนรู้ที่จะคัดลอกด้วยตัวเอง

  • มาโครคืออะไร ใช้งานอย่างไร รับโค้ด Visual Basic ได้จากที่ใด และวางไว้ที่ใด
  • ตารางอัจฉริยะใน Excel 2007-2013
  • คัดลอกสูตรโดยไม่ต้องเปลี่ยนลิงค์

เขียนความเห็น