ข้อมูลที่เป็นประโยชน์ในแถบสถานะ

บางคนชอบ แต่ฉันต้องการแถบสถานะเป็นการส่วนตัวใน 2-3 กรณีเท่านั้น:

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

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

หลักการทั่วไปในการจัดการแถบสถานะ

การจัดการแถบสถานะด้วย Visual Basic นั้นง่ายมาก ในการแสดงข้อความของคุณ คุณสามารถใช้มาโครง่ายๆ:

สถานะย่อยของฉัน () Application.StatusBar = "Привет!" จบซับ  

หลังจากรันแล้วเราได้รับ:

ข้อมูลที่เป็นประโยชน์ในแถบสถานะ

ในการคืนค่าสถานะเดิมของแถบสถานะ คุณจะต้องใช้ "anti-macro" แบบสั้นเดียวกัน:

ย่อย MyStatus_Off() Application.StatusBar = False End Sub  

ในเวอร์ชันพื้นฐาน อย่างที่คุณเห็น ทุกอย่างง่ายมาก ทีนี้มาลองพัฒนาแนวคิดกัน…

ที่อยู่ของช่วงที่เลือกในแถบสถานะ

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

ข้อมูลที่เป็นประโยชน์ในแถบสถานะ

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

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

ในหน้าต่างที่เปิดขึ้น ให้คัดลอกและวางโค้ดแมโครต่อไปนี้:

Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) สิ้นสุดย่อย  

ตอนนี้ เมื่อมีการเลือกช่วงใดๆ (รวมถึงมากกว่าหนึ่งช่วงด้วย!) ที่อยู่ของช่วงนั้นจะแสดงอยู่ในแถบสถานะ:

ข้อมูลที่เป็นประโยชน์ในแถบสถานะ

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

Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & แทนที่ (Selection.Address(0, 0), ",", ", ") End Sub  

จำนวนเซลล์ที่เลือกในแถบสถานะ

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

Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object, ByVal Target As Range) Dim CellCount As Variant, rng As Range For Each rng In Selection.Areas 'วนซ้ำการเลือกทั้งหมด RowsCount = rng.Rows.Count 'จำนวนแถว ColumnsCount = rng.Columns . นับ 'จำนวนคอลัมน์ CellCount = CellCount + RowsCount * ColumnsCount 'สะสมจำนวนเซลล์ทั้งหมด ถัดไป 'แสดงในแถบสถานะ Application.StatusBar = "เลือกแล้ว: " & CellCount & " เซลล์" End Sub  

มาโครนี้จะวนซ้ำในพื้นที่ที่เลือกด้วย Ctrl ทั้งหมด (หากมีมากกว่าหนึ่ง) เก็บจำนวนแถวและคอลัมน์ในแต่ละพื้นที่ในตัวแปร RowsCount และ ColumnsCount และสะสมจำนวนเซลล์ในตัวแปร CellCount ซึ่งจะแสดงขึ้นจากนั้น ในแถบสถานะ ในที่ทำงานจะมีลักษณะดังนี้:

ข้อมูลที่เป็นประโยชน์ในแถบสถานะ

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

Application.StatusBar = "เลือกแล้ว: " & แทนที่ (Selection.Address(0, 0), ",", ", ") & " - รวม " & CellCount & " เซลล์"  

จากนั้นภาพจะสวยมาก:

ข้อมูลที่เป็นประโยชน์ในแถบสถานะ

ฉันคิดว่าคุณคงเข้าใจ แนะนำในความคิดเห็น – มีอะไรอีกบ้างที่จะเป็นประโยชน์ที่จะแสดงในแถบสถานะ?

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

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