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

วิธีการแยกข้อความตามสีฟอนต์จากเซลล์ใน Excel

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

doc-extract-text-color-1

แยกข้อความตามสีฟอนต์จากแต่ละเซลล์

แท็บ Office เปิดใช้งานการแก้ไขและเรียกดูแบบแท็บใน Office และทำให้งานของคุณง่ายขึ้นมาก ...
Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%
  • ใช้ซ้ำอะไรก็ได้: เพิ่มสูตรที่ใช้มากที่สุดหรือซับซ้อนแผนภูมิและสิ่งอื่นใดในรายการโปรดของคุณและนำกลับมาใช้ใหม่ได้อย่างรวดเร็วในอนาคต
  • คุณสมบัติข้อความมากกว่า 20 รายการ: แยกหมายเลขจากสตริงข้อความ แยกหรือลบบางส่วนของข้อความ แปลงตัวเลขและสกุลเงินเป็นคำภาษาอังกฤษ
  • ผสานเครื่องมือ: สมุดงานและแผ่นงานหลายเล่มเป็นหนึ่งเดียว ผสานหลายเซลล์ / แถว / คอลัมน์โดยไม่สูญเสียข้อมูล รวมแถวและผลรวมที่ซ้ำกัน
  • แยกเครื่องมือ: แยกข้อมูลออกเป็นหลายแผ่นตามมูลค่า; สมุดงานหนึ่งเล่มเป็นไฟล์ Excel, PDF หรือ CSV หลายไฟล์ หนึ่งคอลัมน์ถึงหลายคอลัมน์
  • วางการข้าม แถวที่ซ่อน / กรอง; นับและผลรวม โดย Background Color; ส่งอีเมลส่วนบุคคลไปยังผู้รับหลายคนในกลุ่ม
  • ซุปเปอร์กรอง: สร้างโครงร่างตัวกรองขั้นสูงและใช้กับแผ่นงานใด ๆ ประเภท ตามสัปดาห์วันความถี่และอื่น ๆ กรอง by ตัวหนาสูตรคอมเม้น ...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ ทำงานร่วมกับ Office 2007-2019 และ 365; รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ

ลูกศรสีฟ้าฟองขวา แยกข้อความตามสีฟอนต์จากแต่ละเซลล์


ใน Excel คุณสามารถใช้ฟังก์ชันที่กำหนดเพื่อแยกข้อความตามสีฟอนต์เท่านั้น

1 กด Alt + F11 คีย์ร่วมกันเพื่อเปิดหน้าต่าง Microsoft Visual Basic for Applications

2 คลิก สิ่งที่ใส่เข้าไป > โมดูล และคัดลอกรหัส VBA ต่อไปนี้ไปยังหน้าต่างที่โผล่ขึ้นมา

VBA: แยกข้อความตามสีฟอนต์

Function GetColorText(pRange As Range) As String
'UpdatebyExtendoffice20220621
Dim xOut As String
Dim xValue As String
Dim i As Long
Dim TextColor
TextColor = RGB(255, 0, 0) 'colorindex RGB
xValue = pRange.Text
For i = 1 To VBA.Len(xValue)
  If pRange.Characters(i, 1).Font.Color = TextColor Then
  xOut = xOut & VBA.Mid(xValue, i, 1)
  End If
Next
GetColorText = xOut
End Function

3. จากนั้นบันทึกและปิดกล่องโต้ตอบแล้วเลือกเซลล์ว่างที่อยู่ถัดจากรายการข้อมูลพิมพ์สูตรนี้ = GetColorText (A1) (A1 หมายถึงเซลล์ที่คุณต้องการแยกข้อความ) ให้กด เข้าสู่ เพื่อรับข้อความที่ต้องการจากนั้นลากที่จับการป้อนอัตโนมัติเพื่อเติมสูตรในช่วงที่คุณต้องการ

ตอนนี้คุณสามารถเห็นข้อความสีแดงทั้งหมดถูกแยกออกมา

doc-extract-text-color-2

ปลาย: ในโค้ด VBA ด้านบนนี้ คุณสามารถเปลี่ยนสี rgb ในสคริปต์ TextColor = RGB(255, 0, 0) เป็นสีอื่นๆ ได้ตามที่คุณต้องการ


บทความที่เกี่ยวข้อง:


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

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
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (14)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี เมื่อฉันลองใช้ vbBlue มันใช้งานไม่ได้ ช่วยด้วย? ขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
กำหนดสีแบบอักษรให้กับสีน้ำเงิน exct
เพราะมีสีน้ำเงินหลายแบบ "ฟ้าอ่อน ฟ้า น้ำเงินเข้ม"
vba จับคู่สี exct เท่านั้น ????????
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสทำงานได้ดีถ้าสตริงสีแดงต่อเนื่องกัน ในกรณีที่แยกจากกันในเซลล์ต้นทาง พวกมันจะถูกเชื่อมติดกันในเซลล์เอาต์พุต ฉันหมายความว่าจะไม่มีช่องว่างในผลลัพธ์หากสตริงข้อความสีแดงอยู่ห่างจากกัน คุณช่วยกรุณาให้วิธีแก้ปัญหานี้ได้ไหม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เฮ้ ขอบคุณสำหรับคำแนะนำ ใช้งานได้ดีกับสีแดงและสีดำ
จะทำอย่างไรถ้าฉันต้องการแยกวิเคราะห์ "สีม่วง" การเปลี่ยน vbPurple ไม่ทำงาน
ขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
บูโอนาเซรา, กราซี มิลล์ อุนอตติมา ฟุนซิโอเน Però ho un ปัญหา, quando val nel foglio ed inserisco es. = GetColorText (A1) ที่พักผ่อน il valore giusto però come riavvio il file mi da errore #VALORE!, se poi clicco 2 volte sopra mi da il valore corretto e così via. ค่าโดยสาร che posso?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
dimmenticavo io ho Excel 2010
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณรหัสที่น่าสนใจมาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสทำงานได้ดีถ้าสตริงสีแดงต่อเนื่องกัน ในกรณีที่แยกจากกันในเซลล์ต้นทาง พวกมันจะถูกเชื่อมติดกันในเซลล์เอาต์พุต ฉันหมายความว่าจะไม่มีช่องว่างในผลลัพธ์หากสตริงข้อความสีแดงอยู่ห่างจากกัน คุณช่วยกรุณาให้วิธีแก้ปัญหานี้ได้ไหม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ลองนี่สิ น่าจะได้ผล
ฟังก์ชัน GetColorText(pRange As Range) เป็นสตริง
'อัปเดตรวมหลายรายการ
Dim xOut เป็นสตริง
Dim xValue เป็นสตริง
มืดมนตราบนานเท่านาน
Dim เป็นสีแดงเป็นบูลีน
xValue = pRange ข้อความ

สำหรับผม = 1 ถึง VBA.Len(xValue)

ถ้า pRange.Characters(i, 1).Font.Color = vbRed แล้ว
xOut = xOut & VBA.Mid(xValue, i, 1)
wasRed = จริง
ElseIf wasRed = จริงแล้ว
wasRed = เท็จ
xOut = xOut & ";"
End If

ต่อไป

GetColorText = xOut
ฟังก์ชั่นเอนด์

ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมากมันทำงานได้ดีอย่างสมบูรณ์แบบ คุณเป็นผู้กอบกู้ทิม :-) 
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันยังไม่สามารถแยกข้อความสีน้ำเงิน (#1166BB) มีวิธีใช้ Hex: #1166BB เพื่อให้ได้ข้อความสีที่ฉันต้องการหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี Robert E Perez ฉันได้อัปเดตรหัส VBA แล้ว ตอนนี้รองรับการรับข้อความสีด้วยรหัส rgb คุณสามารถลองรหัสอีกครั้ง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันมีข้อความเฉพาะในเซลล์ที่คั่นด้วยเครื่องหมายจุลภาคและมีสีสำหรับแต่ละข้อความ ในขณะที่ใช้ฟังก์ชันตัวคั่น ฉันไม่สามารถรักษาสีแบบอักษรของข้อความได้ โปรดใช้ความช่วยเหลือของคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี jdhjjd ฉันไม่เข้าใจคำถามของคุณอย่างชัดเจน คุณต้องการแยกข้อความเฉพาะออกจากเซลล์และคงสีแบบอักษรไว้ดังที่แสดงไว้ด้านล่างนี้หรือไม่?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color.png
หรือแบ่งเซลล์และเก็บสีแบบอักษรแต่ละข้อความไว้
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color-2.png
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ