วิธีป้องกันเซลล์จากการพิมพ์ใน Excel


17

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

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


2
คุณควรเปลี่ยนคำตอบที่ยอมรับให้เป็นของ Terence เนื่องจากเป็นเซลล์ที่ป้องกันไม่ให้พิมพ์โดยไม่ป้องกันไม่ให้ปรากฏบนหน้าจอ (ซึ่งดูเหมือนว่าเป็นข้อกำหนดโดยนัยสำหรับคำถามนี้)
โฆษณา N

คำตอบ:


7

คุณสามารถใช้การจัดรูปแบบปกติ (ไม่ใช่เงื่อนไข) เพื่อให้บรรลุสิ่งนี้ เลือกเซลล์แถวและ / หรือคอลัมน์ที่มีปัญหาและไปที่ "Format Cells" ซึ่งสามารถเข้าถึงได้ผ่าน ribbon ("Home" → "Cells" → "Format") หรือแป้นพิมพ์ลัดCtrl+1 +

บนแท็บ "หมายเลข" เลือก Category = "กำหนดเอง" และสำหรับ "ประเภท" ให้ป้อน:

"" "" "" ""

หรือเพียงแค่

;;;

สิ่งนี้บอกให้ Excel แสดงสตริงว่างถ้าเซลล์มีจำนวนบวก, จำนวนลบ, ข้อความศูนย์หรือ (ไม่ใช่ตัวเลข) ดังนั้นค่าใด ๆ ที่ไม่ใช่ข้อผิดพลาดจะถูกซ่อนบนหน้าจอและเมื่อพิมพ์


ว้าวนั่นเป็นเคล็ดลับของผู้ใช้พลังที่ยอดเยี่ยม ฉันไม่สามารถรอที่จะลองในตอนเช้า
Michael Itzoe

11
สิ่งนี้ยังช่วยป้องกันเนื้อหาของเซลล์ไม่ให้แสดงผลไม่เพียง แต่การพิมพ์ ฉันต้องการแสดงค่าบนหน้าจอ แต่ซ่อนเมื่อพิมพ์
utapyngo

14

หากคุณใช้ Office 2010 ภายใต้ "ไฟล์ -> พิมพ์ -> ตั้งค่าหน้ากระดาษ -> แผ่นงาน (แท็บ)" การตั้งค่าสำหรับ "พื้นที่พิมพ์" ควรเป็นสิ่งที่คุณกำลังมองหา ในตัวอย่างของฉันเฉพาะคอลัมน์ A: J เท่านั้นที่จะถูกพิมพ์ อย่างไรก็ตามทุกอย่างจะปรากฏขึ้นเมื่อดูบนหน้าจอ

นี่คือลักษณะของกล่องโต้ตอบ:

ภาพหน้าจอ
(คลิกที่ภาพเพื่อขยาย)

สิ่งนี้อาจเข้าถึงได้เช่น "เค้าโครงหน้า" → "ตั้งค่าหน้ากระดาษ" → (ปุ่มมุม) → "ตั้งค่าหน้ากระดาษ" → "แผ่นงาน":

    


2
มันแปลกมาก - นี่เป็นคำตอบเดียวที่ถูกต้องและถูกต้อง
Vojtěch Dohnal

7

โซลูชันนี้ไม่ต้องการให้คุณดำเนินการพิเศษก่อนและหลังทุกครั้งที่คุณต้องการพิมพ์ไฟล์ มันสร้างจากแนวคิดของการใช้ "พื้นที่พิมพ์" ตามที่ Terence และ Don Livezey แนะนำ ใส่เซลล์ที่คุณไม่ต้องการพิมพ์นอกพื้นที่พิมพ์ หากดีพอสำหรับคุณคุณก็ทำเสร็จแล้ว

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

  • แทรก“ รูปร่าง” (สี่เหลี่ยมผืนผ้าทำงานได้ดีที่สุด) วางตำแหน่งไว้เหนือเซลล์ที่คุณต้องการให้ข้อมูลปรากฏ จัดรูปแบบมันตามที่คุณต้องการ อาจเป็นการดีที่สุดที่จะไม่มีเส้นแบ่งเขต ตั้งค่าสีเติมเป็นสิ่งที่คุณต้องการสำหรับสีพื้นหลังหรือไม่มีสีเติมเพื่อให้สีเติมของเซลล์พื้นฐานแสดงผ่าน (และทำให้รูปร่างนั้นมองไม่เห็น)
  • กำหนดค่ารูปร่างเพื่อแสดงเนื้อหาของเซลล์ที่ต้องการโดยการเลือกรูปร่างแล้วพิมพ์การอ้างอิง (เช่น=D15) ในแถบสูตรที่ด้านบน อย่าพิมพ์ลงในรูปร่าง หากคุณทำเช่นนั้นสูตร ( =D15) จะแสดงตามตัวอักษร
  • คลิกขวาที่รูปร่างและเลือก“ จัดรูปทรงรูปร่าง” ภายใต้คุณสมบัติคุณสามารถเลือกได้ว่าจะพิมพ์รูปร่างหรือไม่ (โดยการล้างกล่องกาเครื่องหมาย“ พิมพ์วัตถุ”) (ใน Excel 2013 นี้อยู่ภายใต้“ ตัวเลือกรูปร่าง” →“ ขนาดและคุณสมบัติ” →“ คุณสมบัติ”)

รูปร่างที่ไม่ได้พิมพ์มีประโยชน์มากเมื่อคุณต้องการเพียงแค่ใส่คำแนะนำผู้ใช้ (ซึ่งเป็นเหตุผลที่ฉันอ่านนี้)
Theodore

2

เมื่อฉันต้องการทำสิ่งที่คุณกำลังพูดสิ่งที่ฉันจะทำคือ:

ใช้ฟังก์ชั่นในโปรแกรมแก้ไขโค้ด (VBA):

Private Sub Workbook_BeforePrint(Cancel As Boolean)

หากต้องการซ่อนคอลัมน์หรือแถวให้ทำผลงานพิมพ์แล้วเลิกซ่อนมัน

ตัวอย่าง:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If ActiveSheet.Name = "Sheet1" Then
        Cancel = True
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        With ActiveSheet
            .Rows("10:15").EntireRow.Hidden = True
            .PrintOut
            .Rows("10:15").EntireRow.Hidden = False
        End With
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub

หรือเปลี่ยนส่วนที่เกี่ยวข้องเพื่อซ่อนคอลัมน์ (ตัวอย่างนี้ซ่อนคอลัมน์ B และ D):

        With ActiveSheet
            .Range("B1,D1").EntireColumn.Hidden = True
            .PrintOut
            .Range("B1,D1").EntireColumn.Hidden = False
        End With

หรือซ่อนแถวทั้งหมดด้วยเซลล์ว่างในคอลัมน์ A:

        With ActiveSheet
            On Error Resume Next
            .Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
            .PrintOut
            .Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
            On Error GoTo 0
        End With

ลิงค์:


นี่เป็นวิธีการแก้ปัญหาที่แย่มากและการเชื่อมโยงจะไม่ทำงานอีกต่อไป
Vojtěch Dohnal

2

ฉันแก้ไขปัญหาเดียวกันด้วยการสร้างแผ่นแยกต่างหากและคัดลอกลิงก์ไปยังข้อมูลในนั้น ในการทำเช่นนี้ให้ไฮไลต์ทั้งแผ่นต้นฉบับและคัดลอก ( Ctrl+C ) ไปที่แผ่นงานใหม่และคลิกขวาที่เซลล์แรก เลือกไอคอนลิงก์ในตัวเลือกการวาง ทุกอย่างที่วางจะไม่ฟอร์แมตดังนั้นคุณจะต้องแก้ไขสิ่งนี้ เซลล์ว่างจะมีศูนย์ สิ่งนี้สามารถแก้ไขได้โดยไปที่ "ไฟล์" → "ตัวเลือก" → "ขั้นสูง" และยกเลิกการเลือกช่อง "แสดงศูนย์ในเซลล์ที่มีค่าศูนย์"

ขณะนี้คุณสามารถลบเซลล์แถวหรือคอลัมน์ใด ๆ ที่คุณไม่ต้องการให้ปรากฏในการพิมพ์ได้ แผ่นงานพิมพ์จะอัปเดตเมื่อคุณอัปเดตแผ่นงานต้นฉบับ

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


1

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

  • การตั้งค่าพื้นที่พิมพ์: สิ่งนี้สามารถทำงานได้ขึ้นอยู่กับเค้าโครงของกระดาษ แต่มันไม่รองรับการเลือกพื้นที่การพิมพ์ที่ไม่ต่อเนื่องกันด้วย หรือบางทีมันอาจใช้งานได้ดี แต่วิธีการที่เลือกไม่ได้ผลในกรณีของฉัน ตัวอย่างเช่นถ้าฉันมีสเปรดชีตที่มีคอลัมน์ AE และฉันต้องการซ่อนคอลัมน์ B และ D ในการพิมพ์ก็จะทำให้คอลัมน์ที่พิมพ์ {A, C, E} แต่ละคอลัมน์แยกกัน ไม่ใช่สิ่งที่ฉันต้องการจริงๆ

  • การตั้งค่าข้อความเป็นสีขาวเป็นสีขาว: สามารถทำงานได้ในบางกรณี แต่ระวังมันไม่ได้ป้องกันข้อมูลที่ซ่อนอยู่จากการรั่วไหล หากคุณพยายามซ่อนข้อมูลที่ละเอียดอ่อนรู้ว่าหากคุณพิมพ์เป็น PDF ข้อมูลจะยังคงปรากฏอยู่ในไฟล์ PDF แม้ว่าจะเป็นสีขาวบนสีขาว แต่ก็ยังคงมีอยู่และสามารถคัดลอก / วางจากไฟล์ PDF

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


1

คุณสามารถ "ซ่อน" ทั้งแถวหรือคอลัมน์โดยคลิกขวาที่แถว / คอลัมน์แล้วเลือก "ซ่อน" สิ่งนี้จะป้องกันไม่ให้แถว / คอลัมน์ถูกพิมพ์ (หรือแสดง) หากคุณมีหลายแถว / คอลัมน์คุณสามารถไฮไลต์พวกเขาด้วย "คลิกลาก" หากพวกเขาอยู่ติดกันหรือโดยCtrl+ คลิกถ้าพวกเขาไม่ได้อยู่ติดกัน เมื่อซ่อนแถว / คอลัมน์หมายเลข / ตัวอักษรจะไม่ปรากฏ หากต้องการเลิกซ่อนพวกเขาเพียงแค่ไฮไลต์แถว / คอลัมน์ทั้งสองข้างและ "คลิกขวา" แล้วเลือก "เลิกซ่อน"

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


1
แต่ OP ไม่ต้องการซ่อนเซลล์ แต่เพื่อป้องกันการพิมพ์
Vojtěch Dohnal

@ VojtěchDohnalการซ่อนเซลล์จะซ่อนจากการพิมพ์ สันนิษฐานว่าเมื่อพิมพ์แล้วคุณสามารถยกเลิกการซ่อน
iheanyi

0

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

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


0

อีกวิธีที่ง่ายคือการล้างเนื้อหาของเซลล์ชั่วคราวด้วยการไฮไลต์เซลล์ที่เลือก - คลิกขวาแล้วเลือก "ล้างเนื้อหา"

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้คุณสามารถพิมพ์แล้วคลิกปุ่มเลิกทำและทั้งหมดกลับมาเป็นปกติ


ฉันไม่เข้าใจวิธีการที่คำตอบนี้ได้รับการ upvoted ... ถ้าคุณไม่ต้องการให้เซลล์ที่จะพิมพ์เพียงแค่ลบพวกเขา ...
Vojtěch Dohnal

เซลล์อาจมีค่า (ตัวอย่างเช่นเปอร์เซ็นต์กำไร) ซึ่งจะใช้ในการคำนวณสูตรเช่นตัวแปร ถ้ามันถูกลบไปแล้วการคำนวณจะไม่ทำ!
เหล็กรีไซเคิล

0

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

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

เมื่อฉันอัปเดตแหล่งที่มาปลายทางจะได้รับข้อมูลทั้งหมดตามที่ต้องการและฉันจะไม่ต้องเสียเวลาทำงานเลย

สำรองไฟล์ของคุณด้วย

ไชโย


0

วิธีป้องกันแถวหรือโคลัมจากการพิมพ์คุณสามารถซ่อนมันจากมุมมอง:

  1. เลือกแถว / คอลัมน์
  2. คลิกขวาที่มัน
  3. เลือก "ซ่อน" ในเมนูบริบท

วิธีการแปลคือสร้างกลุ่มแล้วยุบ:

  1. เลือกแถว / colum (s)
  2. เลือกแท็บข้อมูล (ใน Ribbon) -> ปุ่มกลุ่มในกลุ่มเค้าร่าง

ตอนนี้คุณสามารถยุบ / ขยายแถว / colum (s) เพื่อการแก้ไข / การพิมพ์ได้อย่างรวดเร็ว

ดูวิดีโอที่อธิบายถึงหลายวิธีในการซ่อนเซลล์ (รวมถึงที่อธิบายไว้ด้านบน)


0

โดยคำนึงถึงคำแนะนำก่อนหน้านี้ที่ตัวอักษรสีขาวอาจมองเห็นได้ในการพิมพ์ PDF ฉันใช้เทคนิคต่อไปนี้:

ใช้เซลล์นอกพื้นที่พิมพ์ด้วยรายการ "1" หรือ "0"

ฉันอ้างถึงฟิลด์นี้ในการจัดรูปแบบตามเงื่อนไขของเซลล์ทั้งหมดที่ไม่ต้องการพิมพ์

หากA1=0ตั้งค่ารูปแบบเป็นแบบอักษรสีขาว

ถ้า A1=1ตั้งค่ารูปแบบเป็นสีดำหรือสีแบบอักษรที่คุณต้องการ

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


สิ่งนี้จะหยุดการพิมพ์ PDF เป็นสีขาวได้อย่างไร เซลล์ที่คุณตั้งค่าเป็นสีขาวไม่ผ่านการจัดรูปแบบตามเงื่อนไขที่พิมพ์แบบขาวบน PDF เหมือนเมื่อก่อนหรือไม่
Andi Mohr

ใช่มันเป็น แต่สิ่งนี้แก้คำถามเดิมของวิธีการสลับระหว่างเซลล์ที่ไม่สามารถพิมพ์ได้ (แบบอักษรสีขาว) และการดูในแผ่นงานโดยใช้เนื้อหาเซลล์ A1 (0 หรือ 1) เพื่อเปิดและปิดเซลล์แบบอักษรสีขาว
Darren
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.