Note: The other languages of the website are Google-translated. Back to English

จะทำตัวหนาทุกคำในช่วงเซลล์ได้อย่างไร?

doc ข้อความ specifc ตัวหนา 1

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

ใช้คำเฉพาะเจาะจงทั้งหมดเป็นตัวหนาในช่วงของเซลล์ด้วยรหัส VBA


ลูกศรสีฟ้าฟองขวา ใช้คำเฉพาะเจาะจงทั้งหมดเป็นตัวหนาในช่วงของเซลล์ด้วยรหัส VBA


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

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.

รหัส VBA: ข้อความเฉพาะที่เป็นตัวหนาในช่วงของเซลล์

Sub FindAndBold()
'Updateby Extendoffice 20160711
    Dim xFind As String
    Dim xCell As Range
    Dim xTxtRg As Range
    Dim xCount As Long
    Dim xLen As Integer
    Dim xStart As Integer
    Dim xRg As Range
    Dim xTxt As String
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Please select data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    On Error Resume Next
    Set xTxtRg = Application.Intersect(xRg.SpecialCells(xlCellTypeConstants, xlTextValues), xRg)
    If xTxtRg Is Nothing Then
        MsgBox "There are no cells with text"
        Exit Sub
    End If
    xFind = Trim(Application.InputBox("What do you want to BOLD?", "Kutools for Excel", , , , , , 2))
    If xFind = "" Then
        MsgBox "No text was listed", vbInformation, "Kutools for Excel"
        Exit Sub
    End If
    xLen = Len(xFind)
    For Each xCell In xTxtRg
        xStart = InStr(xCell.Value, xFind)
        Do While xStart > 0
            xCell.Characters(xStart, xLen).Font.Bold = True
            xCount = xCount + 1
            xStart = InStr(xStart + xLen, xCell.Value, xFind)
        Loop
    Next
    If xCount > 0 Then
        MsgBox "number of " & CStr(xCount) & " text be bolded!", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Not find the specific text!", vbInformation, "Kutools for Excel"
    End If
End Sub

3. จากนั้นกด F5 คีย์เพื่อเรียกใช้รหัสนี้และกล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนให้คุณเลือกช่วงข้อมูลที่คุณต้องการเป็นตัวหนาดูภาพหน้าจอ:

doc ข้อความ specifc ตัวหนา 2

4. จากนั้นคลิก OKช่องอื่นจะปรากฏขึ้นเพื่อเตือนให้คุณป้อนข้อความเฉพาะที่คุณต้องการทำตัวหนาเฉพาะในเซลล์ดูภาพหน้าจอ:

doc ข้อความ specifc ตัวหนา 3

5. หลังจากป้อนข้อความกรุณาคลิก OK ปุ่มและข้อความทั้งหมดที่คุณระบุเป็นตัวหนาในช่วงที่เลือกดูภาพหน้าจอ:

doc ข้อความ specifc ตัวหนา 4


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (8)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
VBA นี้สามารถแก้ไขให้ข้อความเป็นตัวหนาหลายตัว เช่น "KTE", "KTO" และ "KTW" ได้หรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีอีริค

อาจเป็นรหัส VBA ต่อไปนี้สามารถช่วยให้คุณเป็นตัวหนาหลายเซลล์ โปรดใช้รหัสด้านล่าง
ย่อย FindAndBold()
หรี่ฉันนาน
Dim xFind เป็นสตริง
Dim xCell เป็นช่วง
Dim xTxtRg เป็นช่วง
Dim xCount ตราบใด
Dim xLen เป็นจำนวนเต็ม
Dim xStart เป็นจำนวนเต็ม
Dim xRg เป็นช่วง, xRgFind เป็นช่วง
Dim xTxt เป็นสตริง
Dim xArr() เป็นสตริง
เกี่ยวกับข้อผิดพลาดต่อไป
ถ้า ActiveWindow.RangeSelection.Count > 1 แล้ว
xTxt = ActiveWindow.RangeSelection.AddressLocal
อื่น
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox("กรุณาเลือกช่วงข้อมูล:", "Kutools for Excel", xTxt, , , , , 8)
ถ้า xRg ไม่มีอะไร ให้ออกจาก Sub
เกี่ยวกับข้อผิดพลาดต่อไป
ตั้งค่า xTxtRg = Application.Intersect(xRg.SpecialCells(xlCellTypeConstants, xlTextValues), xRg)
ถ้า xTxtRg ไม่มีอะไรแล้ว
MsgBox "ไม่มีเซลล์ที่มีข้อความ"
ออกจาก Sub
End If
Set xRgFind = Application.InputBox("เลือกเซลล์ข้อความที่คุณต้องการให้เป็นตัวหนา", "Kutools for Excel", , , , , , 8)
ถ้า xRgFind ไม่มีอะไรแล้ว
MsgBox "ไม่มีรายการข้อความ", vbInformation, "Kutools สำหรับ Excel"
ออกจาก Sub
End If
ReDim xArr(xRgFind.Count - 1)
สำหรับฉัน = 0 ถึง (xRgFind.Count - 1)
xArr(I) = xRgFind(I + 1)
ต่อไป
สำหรับแต่ละ xCell ใน xTxtRg
สำหรับฉัน = 0 ถึง UBound(xArr)
xFind = ตัดแต่ง (xArr (I))
xStart = InStr(xCell.Value, xFind)
xLen = เลน (xFind)
ทำในขณะที่ xStart > 0
xCell.Characters(xStart, xLen).Font.Bold = จริง
xCount = xCount + 1
xStart = InStr(xStart + xLen, xCell.Value, xFind)
ห่วง
ต่อไป
ต่อไป
ถ้า xCount > 0 แล้ว
MsgBox "จำนวน " & CStr(xCount) & " ข้อความเป็นตัวหนา!", vbInformation, "Kutools สำหรับ Excel"
อื่น
MsgBox "ไม่พบข้อความเฉพาะ!", vbInformation, "Kutools for Excel"
End If
ย่อยสิ้นสุด

หวังว่ามันจะช่วยคุณได้ ขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ถ้าฉันต้องการทำให้สตริงเป็นตัวหนา G-AD เท่านั้น มันจะไม่ทำงานถ้าฉันมี G-AD และ G-AD-bla-bla-bla ในเซลล์ของฉัน (ไม่ควรสร้าง G-AD นี้เป็น BOLD)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี skyyang คุณช่วยฉันใน excel ได้ไหม
หากพบ "1º" ในเซลล์ที่มีหลายบรรทัด ให้เป็นตัวหนาในเซลล์นั้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี เป็นไปได้ที่จะค้นหาข้อความหลายข้อความและทำให้ข้อความนั้นเป็นตัวหนาบวกกับบรรทัดเซลล์นั้น (ฉันมี 1 เซลล์ที่มี 5 บรรทัด ฉันต้องการให้บรรทัดเป็นตัวหนาหากพบ "1º" หากเหลือเช่น "2º" "3º" , "number + º " ตัวหนาเท่านั้น)

ความต้องการอื่น ๆ คือ:
หากพบว่า "1º" เป็นตัวหนาในเซลล์นั้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันพยายามเรียกใช้โค้ดนี้และเกิดข้อผิดพลาด..."ข้อผิดพลาดในการคอมไพล์: #อาร์กิวเมนต์ไม่ถูกต้อง หรือการกำหนดคุณสมบัติไม่ถูกต้อง" ด้านล่างนี้คือรูปภาพของข้อความแสดงข้อผิดพลาดและเบรกพอยต์ของโค้ด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคุณเชอร์รี่
ฉันไม่เห็นภาพหน้าจอของคุณ โปรดอัปโหลดอีกครั้ง
ขอขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันได้รับป๊อปอัปอันแรกแล้ว แต่ไม่ได้รับหน้าต่างป๊อปอัปที่สองให้พิมพ์คำนั้นใช่หรือไม่
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ