รูปแบบเซลล์ที่กำหนดเองสำหรับที่อยู่ IP เพื่อบังคับให้ศูนย์นำหน้า


4

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

ฉันไม่ค่อยดีกับรูปแบบที่กำหนดเอง แต่ฉันพยายามอย่าง###.###.###.###ไม่มีโชค

เป็นไปได้ไหม


1
หากคุณไม่ต้องการใช้คอลัมน์ผู้ช่วยเหลือตัวเลือกเดียวคือ vba ที่จะใช้แทน หากคุณต้องการคอลัมน์ตัวช่วยก็สามารถทำได้ในหนึ่งสูตร แต่ excel เห็นว่า192.168.1.1เป็นข้อความและที่นั่นจะไม่สามารถใส่มาสก์ได้
Scott Craner

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

คำตอบ:


4

เลือกเซลล์ที่มีที่อยู่และเรียกใช้แมโครแบบสั้นนี้:

Sub IPFixer()
    Dim r As Range, arr

    For Each r In Selection
        arr = Split(r.Value, ".")
        For i = 0 To 3
            arr(i) = Format(arr(i), "000")
        Next i
        r.Value = Join(arr, ".")
    Next r
End Sub

ก่อน:

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

และหลังจากนั้น:

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

แก้ไข # 1:

สมมติว่าเราต้องการให้การแปลงนี้ใช้กับรายการในคอลัมน์A โดยอัตโนมัติ รวมแมโครเหตุการณ์ต่อไปนี้ในพื้นที่รหัสแผ่นงาน:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range, rInt As Range
    Set rInt = Intersect(Range("A:A"), Target)
    If rInt Is Nothing Then Exit Sub
    Application.EnableEvents = False
        For Each r In rInt
                arr = Split(r.Value, ".")
                For i = 0 To 3
                    arr(i) = Format(arr(i), "000")
                Next i
                r.Value = Join(arr, ".")
        Next r
    Application.EnableEvents = True
End Sub

เนื่องจากเป็นรหัสแผ่นงานจึงง่ายต่อการติดตั้งและใช้งานโดยอัตโนมัติ:

  1. คลิกขวาที่ชื่อแท็บใกล้กับด้านล่างของหน้าต่าง Excel
  2. เลือก View Code - นี่จะเป็นการเปิดหน้าต่าง VBE ขึ้นมา
  3. วางสิ่งต่างๆลงในและปิดหน้าต่าง VBE

หากคุณมีข้อกังวลใด ๆ ก่อนอื่นให้ลองทำในเวิร์กชีทรุ่นทดลอง

หากคุณบันทึกเวิร์กบุ๊กแมโครจะถูกบันทึกด้วย หากคุณกำลังใช้ Excel รุ่นที่ใหม่กว่าในปี 2003 คุณต้องบันทึกไฟล์เป็น. xlsm แทนที่จะเป็น. xlsx

ในการลบมาโคร:

  1. เปิดหน้าต่าง VBE ขึ้นมาข้างต้น
  2. ล้างรหัสออก
  3. ปิดหน้าต่าง VBE

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับมาโครโดยทั่วไปโปรดดู:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

และ

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับแมโครเหตุการณ์ (รหัสแผ่นงาน) โปรดดู:

http://www.mvps.org/dmcritchie/excel/event.htm

ต้องเปิดใช้งานแมโครเพื่อให้ใช้งานได้!


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

1
@ScottBeeson ดูการแก้ไข # 1
นักเรียนของ Gary

ว้าวคุณไปได้ไกลกว่านั้นด้วยคำแนะนำและข้อมูลเกี่ยวกับมาโครขอบคุณ!
Scott Beeson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.