Page 1 of 1

เลือกกลุ่มตัวเลขที่อยู่ในเซลเดียวให้เป็นตามเงื่อนไข

Posted: Mon Jul 25, 2011 11:15 am
by pom 818
คือว่า ในเซลเดียวมีกลุ่มตัวเลขอยู่ 10 ตัว คือ 0-9 สลับกันและกั้นด้วยเครื่องหมาย (-) เช่น 34-025-189-67 ถ้าเราต้องการเปลี่ยนให้เลข 2 เป็นตัวหนาและเป็นสีแดง และให้เลข 5 เป็นตัวหนาและเป็นสีเขียว และให้เลข 7 เป็นตัวหนาและเป็นสีฟ้า ต้องใช้สูตรอย่างไรครับ เพราะปัจจุบันผมต้องเปลี่ยนที่ละชุดไปเลื้อยๆ ซึ่งไฟล์งานมีจำนวนมากครับ ขอความกรุณาคุณควนช่วยเหลือด้วยครับ ขอบคุณครับ

Re: เลือกกลุ่มตัวเลขที่อยู่ในเซลเดียวให้เป็นตามเงื่อนไข

Posted: Mon Jul 25, 2011 1:50 pm
by snasui
:D การทำเช่นนั้นต้องใช้ VBA มาช่วยครับ

ผมทำตัวอย่างมาให้แล้วตามไฟล์แนบซึ่งใช้ Code ตามด้านล่าง หากยังไม่เคยใช้ Macro ต้อง Enable Macro ก่อน ดูตัวอย่างที่นี่ครับ http://www.snasui.com/viewtopic.php?p=2680#p2680

Code: Select all

Sub ChageFontColor()
Dim r As Range, b As Byte
For Each r In Selection
    For b = 1 To Len(r)
        Select Case Mid(r, b, 1)
            Case 4
                r.Characters(b, 1).Font.FontStyle = "Bold"
                r.Characters(b, 1).Font.ColorIndex = 3
            Case 6
                r.Characters(b, 1).Font.FontStyle = "Bold"
                r.Characters(b, 1).Font.ColorIndex = 45
            Case 7
                r.Characters(b, 1).Font.FontStyle = "Bold"
                r.Characters(b, 1).Font.ColorIndex = 8
        End Select
    Next b
Next r
End Sub

Re: เลือกกลุ่มตัวเลขที่อยู่ในเซลเดียวให้เป็นตามเงื่อนไข

Posted: Mon Jul 25, 2011 8:18 pm
by pom 818
ขอบคุณมากครับ แล้วผมจะลองทำตามที่ท่านอาจารย์บอกมาครับ