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

or

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

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

doc-สารสกัดข้อความสี 1

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

เครื่องมือเพิ่มประสิทธิภาพที่แนะนำสำหรับ Excel / Office

แท็บ Office: นำการแก้ไขแท็บไปใช้ Excel และซอฟต์แวร์ Office อื่น ๆ เช่นเดียวกับ Chrome, Firefox และ Safariการทดลองใช้ฟรีไม่ จำกัด 30 วัน

Kutools สำหรับ Excel: คุณลักษณะที่มีประสิทธิภาพของ 300 ช่วยให้ Excel ใช้งานได้ง่ายและเพิ่มประสิทธิภาพการทำงานได้ทันทีการทดลองใช้ฟรีไม่ จำกัด 60 วัน


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


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

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

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

VBA: แยกข้อความตามสีตัวอักษร

Function GetColorText(pRange As Range) As String
	'Updateby20141105
	Dim xOut As String
	Dim xValue As String
	Dim i As Long
	xValue = pRange.Text

	For i = 1 To VBA.Len(xValue)

		If pRange.Characters(i, 1).Font.Color = vbRed Then
			xOut = xOut & VBA.Mid(xValue, i, 1)
		End If

	Next

	GetColorText = xOut
End Function

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

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

doc-สารสกัดข้อความสี 2

ปลาย: ในโค้ด VBA ข้างต้นหากคุณต้องการดึงข้อความสีดำจากเซลล์คุณสามารถเปลี่ยนชื่อสีได้ สี = vbRed ไปยัง color = vbBlack.


บทความญาติ:



เครื่องมือเพิ่มประสิทธิภาพที่แนะนำ

แท็บ Office

gold star1 นำแท็บที่มีประโยชน์ไปยัง Excel และซอฟต์แวร์ Office อื่น ๆ เช่นเดียวกับ Chrome, Firefox และ Internet Explorer ใหม่

Kutools สำหรับ Excel

gold star1 น่าทึ่ง! เพิ่มประสิทธิภาพการทำงานของคุณในอีก 5 นาที ไม่จำเป็นต้องมีทักษะพิเศษประหยัดสองชั่วโมงทุกวัน!

gold star1 300 คุณสมบัติใหม่สำหรับ Excel, Make Excel ง่ายมากและมีประสิทธิภาพ:

  • ผสานเซลล์ / แถว / คอลัมน์โดยไม่สูญเสียข้อมูล
  • รวมและรวมแผ่นงานหลายแผ่นและสมุดงาน
  • เปรียบเทียบช่วง, คัดลอกหลายช่วง, แปลงข้อความเป็นวันที่, หน่วยและการแปลงสกุลเงิน
  • นับตามสี, เพจย่อยย่อย, การเรียงลำดับขั้นสูงและตัวกรอง Super,
  • เพิ่มเติมเลือก / แทรก / ลบ / ข้อความ / รูปแบบ / ลิงก์ / ความคิดเห็น / เวิร์คบุ๊ค / แผ่นงานเครื่องมือ ...

ภาพหน้าจอของ Kutools for Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    prudwi · 2 months ago
    The code works well if the red strings are continuous. In case they are separated in the source cell, they are glued to each other in output cell. I mean there is no space in the output if the red text strings are away from each other. Can you please provide a solution for this?
  • To post as a guest, your comment is unpublished.
    Kazam Raza · 2 months ago
    thanks, very interesting code.
  • To post as a guest, your comment is unpublished.
    Roberto · 3 months ago
    dimenticavo io ho Excel 2010
  • To post as a guest, your comment is unpublished.
    Roberto · 3 months ago
    Buonasera, grazie mille un'ottima funzione. Però ho un problema, quando val nel foglio ed inserisco es. = GetColorText (A1) mi restituisce 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 fare?
  • To post as a guest, your comment is unpublished.
    JM · 1 years ago
    Hey, Thanks for the Tip. Works great with Red and Black.
    What if I want to parse "Purple"? changing it vbPurple does not work.
    Thanks