ວິທີການເນັ້ນໃສ່ຂໍ້ຄວາມ / ຄໍາທີ່ຊ້ໍາກັນໃນຕາລາງ Excel

  • ແບ່ງປັນນີ້
Michael Brown

ບົດສອນສະແດງວິທີການເນັ້ນໃສ່ຄຳສັບທີ່ຊໍ້າກັນ ຫຼືສະຕຣິງຂໍ້ຄວາມພາຍໃນຕາລາງໂດຍໃຊ້ VBA.

ການຈັດຮູບແບບເງື່ອນໄຂຂອງ Excel ເຮັດໃຫ້ມັນເປັນໄປໄດ້ເພື່ອເນັ້ນໃຫ້ຊໍ້າກັນໃນທຸກວິທີທີ່ເປັນໄປໄດ້ທີ່ທ່ານສາມາດຄິດໄດ້: ມີ ຫຼືບໍ່ມີການປະກົດຕົວທີ 1, ໃນຖັນດຽວ ຫຼືຫຼາຍຖັນ, ເຊລທີ່ຊໍ້າກັນຕິດຕໍ່ກັນ, ແລະແຖວທັງໝົດໂດຍອີງໃສ່ຄ່າທີ່ຄືກັນໃນຖັນຫຼັກ. ແຕ່, ຕາມປົກກະຕິ, ມີ "ແຕ່". ກົດລະບຽບການຈັດຮູບແບບຕາມເງື່ອນໄຂເຮັດວຽກໃນລະດັບຕາລາງໃນຂະນະທີ່ທ່ານອາດຈະຕ້ອງການເນັ້ນໃສ່ຂໍ້ຄວາມທີ່ຊ້ໍາກັນແທນທີ່ຈະເປັນຕາລາງທັງຫມົດ. ນີ້ສາມາດເຮັດໄດ້ພຽງແຕ່ກັບ macro. ເຖິງແມ່ນວ່າທ່ານບໍ່ມີປະສົບການກັບ VBA, ກະລຸນາຢ່າຟ້າວທີ່ຈະປິດຫນ້ານີ້. ທີ່ນີ້, ເຈົ້າຈະພົບເຫັນຕົວຢ່າງລະຫັດທີ່ພ້ອມທີ່ຈະໃຊ້ ແລະຄໍາແນະນໍາລະອຽດກ່ຽວກັບວິທີການໃຊ້ພວກມັນຢູ່ໃນແຜ່ນວຽກຂອງເຈົ້າ.

    ເນັ້ນໃສ່ຄໍາທີ່ຊໍ້າກັນຢູ່ໃນຕາລາງທີ່ບໍ່ສົນໃຈຂໍ້ຄວາມ

    ຕົວຢ່າງນີ້ສະແດງໃຫ້ເຫັນວິທີການຈັດຮົ່ມຄໍາທີ່ຊ້ໍາກັນຫຼືຂໍ້ຄວາມຢູ່ໃນຫ້ອງທີ່ມີສີຕົວອັກສອນສີແດງເຊັ່ນໃນຮູບຂ້າງລຸ່ມນີ້. ກະລຸນາສັງເກດວ່າຕົວພິມນ້ອຍແລະຕົວພິມໃຫຍ່ຖືກປະຕິບັດເປັນຕົວອັກສອນດຽວກັນ. ຕົວຢ່າງ, Orange , ORANGE ແລະ Orange ແມ່ນຖືວ່າເປັນຄຳດຽວກັນ.

    The ລະຫັດຂອງມະຫາພາກມີດັ່ງນີ້:

    Public Sub HighlightDupesCaseInsensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "ໃສ່ຕົວຂັ້ນທີ່ແຍກຄ່າໃນຕາລາງ", "Delimiter", ", ") ສໍາລັບແຕ່ລະເຊລ.Application.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, False) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Optional CaseSensitive As Boolean = True ) Dim text as String Dim words() As String String Dim wordIndex, matchCount, positionInText as Integer ຖ້າ CaseSensitive ຫຼັງຈາກນັ້ນ words = Split(Cell.Value, Delimiter) other words = Split(LCase(Cell.Value), Delimiter) End if for wordIndex = LBound (words) To UBound (words) - 1 word = words(wordIndex) matchCount = 0 ສຳລັບ nextWordIndex = wordIndex + 1 To UBound (words) ຖ້າ word = words(nextWordIndex) ຫຼັງຈາກນັ້ນ matchCount = matchCount + 1 End If Next NextWordIndex ຖ້າ matchCount > 0 ຫຼັງຈາກນັ້ນ text = "" For Index = LBound (words) To UBound (words) text = text & words(Index) ຖ້າ (words(Index) = word) ຫຼັງຈາກນັ້ນ Cell.Characters(Len(text) - Len(word) + 1, Len(word)).Font.Color = vbRed End ຖ້າ text = text & Delimiter Next End ຖ້າຄໍາຕໍ່ໄປ Index End Sub

    ເນັ້ນໃສ່ຂໍ້ຄວາມທີ່ຊໍ້າກັນໃນ cell case-sensitive

    ໃນສະຖານະການສ່ວນໃຫຍ່, ພວກເຮົາມີແນວໂນ້ມທີ່ຈະບໍ່ສົນໃຈກັບຕົວໜັງສືເມື່ອເຮັດວຽກກັບຂໍ້ຄວາມໃນ Excel. ຢ່າງໃດກໍຕາມ, ພາຍໃຕ້ສະຖານະການສະເພາະໃດຫນຶ່ງ, ກໍລະນີຂໍ້ຄວາມບໍ່ສໍາຄັນ. ຕົວຢ່າງ, ຖ້າທ່ານກໍາລັງຈັດການກັບ IDs, ລະຫັດຜ່ານ, ຫຼືບັນທຶກອື່ນໆຂອງປະເພດນັ້ນ, strings ເຊັ່ນ 1-AA , 1-aa ແລະ 1-Aa ບໍ່ຊໍ້າກັນ ແລະບໍ່ຄວນເນັ້ນໃສ່:

    ໃນກໍລະນີນີ້,ໃຊ້ລະຫັດເວີຊັນຕໍ່ໄປນີ້:

    Public Sub HighlightDupesCaseSensitive() Dim Cell As Range Dim Delimiter As String Delimiter = InputBox( "ໃສ່ຕົວຂັ້ນທີ່ແຍກຄ່າໃນຕາລາງ", "Delimiter", ", ") ສໍາລັບແຕ່ລະຄົນ. Cell ໃນ Application.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, True ) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " " , Optional CaseSensitive As Boolean = True ) Dim text as String Dim words() As String word As String Dim wordIndex, matchCount, positionInText as Integer ຖ້າ CaseSensitive ຫຼັງຈາກນັ້ນ words = Split(Cell.Value, Delimiter) other words = Split(LCase(Cell.Value), Delimiter) End If for wordIndex = LBound (words) To UBound ( words) - 1 word = words(wordIndex) matchCount = 0 ສຳລັບ nextWordIndex = wordIndex + 1 To UBound (words) ຖ້າ word = words(nextWordIndex) ຫຼັງຈາກນັ້ນ matchCount = matchCount + 1 End If Next nextWordIndex ຖ້າ matchCount > 0 ຫຼັງຈາກນັ້ນ text = "" For Index = LBound (words) To UBound (words) text = text & words(Index) ຖ້າ (words(Index) = word) ຫຼັງຈາກນັ້ນ Cell.Characters(Len(text) - Len(word) + 1, Len(word)).Font.Color = vbRed End ຖ້າ text = text & Delimiter Next End ຖ້າຄໍາຕໍ່ໄປ Index End Sub

    ວິທີໃຊ້ macros ເພື່ອເນັ້ນໃສ່ຄໍາທີ່ຊໍ້າກັນໃນ Excel

    ຖ້າທ່ານເປັນຜູ້ເລີ່ມຕົ້ນໃນການນໍາໃຊ້ VBA, ຄໍາແນະນໍາເທື່ອລະຂັ້ນຕອນຂ້າງລຸ່ມນີ້ຈະນໍາທ່ານຢ່າງສະດວກສະບາຍ. . ຜູ້ໃຊ້ທີ່ມີປະສົບການອາດຈະພຽງແຕ່ເລືອກລິ້ງດາວໂຫຼດແລ້ວຂ້າມສ່ວນທີ່ເຫຼືອ :)

    ເພີ່ມລະຫັດໃສ່ປຶ້ມວຽກຂອງເຈົ້າ

    ເຈົ້າເລີ່ມຕົ້ນດ້ວຍການໃສ່ລະຫັດມະຫາພາກໃນປຶ້ມວຽກ Excel ຂອງທ່ານ. ນີ້ແມ່ນວິທີ:

    1. ເປີດປື້ມວຽກບ່ອນທີ່ທ່ານຕ້ອງການເນັ້ນໃສ່ dupes.
    2. ກົດ Alt + F11 ເພື່ອເປີດ Visual Basic Editor.
    3. ຢູ່ແຖບດ້ານຊ້າຍ, ຄລິກຂວາ ThisWorkbook ແລະເລືອກ Insert > Module ຈາກເມນູບໍລິບົດ.
    4. ວາງລະຫັດໃສ່ໃນປ່ອງຢ້ຽມລະຫັດ.
    5. ເພື່ອຮັກສາມາໂຄຣເພື່ອໃຊ້ໃນອະນາຄົດ, ໃຫ້ແນ່ໃຈວ່າຈະບັນທຶກປຶ້ມວຽກຂອງເຈົ້າເປັນໄຟລ໌ .xlsm ທີ່ເປີດໃຊ້ມາໂຄຣ.

    ອີກທາງເລືອກໜຶ່ງ, ທ່ານສາມາດດາວໂຫຼດປຶ້ມວຽກຂອງພວກເຮົາ ແລະແລ່ນມາໂຄຣໄດ້ຈາກບ່ອນນັ້ນ. ປຶ້ມວຽກຕົວຢ່າງມີມາໂຄຣຕໍ່ໄປນີ້:

    • HighlightDupesCaseInsensitive - ຮົ່ມຊ້ຳກັນພາຍໃນຕາລາງທີ່ບໍ່ສົນໃຈຕົວພິມຕົວອັກສອນ.
    • HighlightDupesCaseSensitive - ຈຸດເດັ່ນ dupes ໃນຕາລາງທີ່ພິຈາລະນາກໍລະນີຕົວອັກສອນ.

    ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ກະລຸນາເບິ່ງວິທີໃສ່ລະຫັດ VBA ໃນ Excel.

    ແລ່ນ macro

    ດ້ວຍລະຫັດ ເພີ່ມໃສ່ປຶ້ມວຽກຂອງເຈົ້າເອງ ຫຼືໄຟລ໌ຕົວຢ່າງຂອງພວກເຮົາທີ່ດາວໂຫຼດມາ ແລະເປີດ, ແລ່ນມະຫາພາກດ້ວຍວິທີນີ້:

    1. ໃນແຜ່ນງານຂອງເຈົ້າ, ເລືອກຕາລາງທີ່ທ່ານຕ້ອງການເນັ້ນຂໍ້ຄວາມຊໍ້າກັນ. ນີ້ສາມາດເປັນໄລຍະໜຶ່ງ ຫຼືຫຼາຍໄລຍະທີ່ບໍ່ຕິດກັນ.
    2. ກົດ Alt + F8 .
    3. ເລືອກມະຫາພາກທີ່ສົນໃຈ ແລະຄລິກ Run .

    4. ມະຫາພາກຈະຂໍໃຫ້ເຈົ້າລະບຸຕົວຂັ້ນທີ່ແຍກຄ່າໃນຕາລາງທີ່ເລືອກ. ຕົວຂັ້ນທີ່ຕັ້ງໄວ້ລ່ວງໜ້າ (ເຄື່ອງໝາຍຈຸດ ແລະຊ່ອງຫວ່າງໃນກໍລະນີຂອງພວກເຮົາ) ຈະປາກົດຢູ່ໃນກ່ອງປ້ອນຂໍ້ມູນໂດຍອັດຕະໂນມັດ. ອີງຕາມຄວາມຕ້ອງການຂອງທ່ານ, ທ່ານສາມາດອອກຈາກຕົວຂັ້ນເລີ່ມຕົ້ນຫຼືພິມອັນອື່ນ, ແລະຫຼັງຈາກນັ້ນໃຫ້ຄລິກໃສ່ OK.

    ບໍ່ດົນຫຼັງຈາກນັ້ນ, ທຸກສາຍທີ່ຊ້ໍາກັນຢູ່ໃນທີ່ເລືອກ. ເຊລຈະຖືກຮົ່ມເປັນສີແດງ (ຫຼືສີຕົວອັກສອນໃດກໍ່ຕາມທີ່ຕັ້ງຢູ່ໃນລະຫັດຂອງທ່ານ).

    ຄໍາແນະນໍາ. ເພື່ອ ລຶບສິ່ງທີ່ຊ້ຳກັນ ພາຍໃນເຊລ, ທ່ານສາມາດໃຊ້ Remove Duplicate Substrings, ເຊິ່ງເປັນໜຶ່ງໃນເຄື່ອງມືປະຢັດເວລາຫຼາຍອັນທີ່ລວມຢູ່ໃນ Ultimate Suite ຂອງພວກເຮົາ.

    ວິທີປັບລະຫັດຕາມຄວາມຕ້ອງການຂອງເຈົ້າ

    ດ້ວຍບັນທຶກການນຳໃຊ້ເຫຼົ່ານີ້ ແລະຄວາມຮູ້ພື້ນຖານຂອງ VBA (ຫຼືພຽງແຕ່ປະຕິບັດຕາມຄໍາແນະນໍາຂ້າງລຸ່ມນີ້ຢ່າງໃກ້ຊິດ), ທ່ານສາມາດດັດແປງລະຫັດໃຫ້ສອດຄ່ອງກັບຄວາມຕ້ອງການຂອງທ່ານໄດ້ຢ່າງງ່າຍດາຍ.

    ວາງຢູ່ໃນໂມດູນດຽວກັນ

    ຕາມທີ່ເຈົ້າອາດຈະສັງເກດເຫັນ, ທັງ macros ( HighlightDupesCaseSensitive ແລະ HighlightDupesCaseInsensitive ) ໂທຫາ HighlightDupeWordsInCell function. ຄວາມແຕກຕ່າງລະຫວ່າງສອງ macro ຂ້າງເທິງແມ່ນພຽງແຕ່ຢູ່ໃນພາລາມິເຕີທີ 3 (CaseSensitive) ທີ່ສົ່ງໄປຫາຫນ້າທີ່ດັ່ງກ່າວ.

    ສໍາລັບການຄົ້ນຫາທີ່ລະອຽດອ່ອນ, ມັນຖືກກໍານົດເປັນ TRUE:

    Call HighlightDupeWordsInCell(Cell, Delimiter, True)

    ສຳລັບການຄົ້ນຫາແບບ case-insensitive, ມັນຖືກຕັ້ງເປັນ FALSE:

    Call HighlightDupeWordsInCell(Cell, Delimiter, False)

    ເພື່ອໃຫ້ macros ເຮັດວຽກ, ລະຫັດຂອງຟັງຊັນ HighlightDupeWordsInCell ຈະຕ້ອງຖືກວາງໃສ່. ໂມດູນດຽວກັນກັບmacros.

    ຕົວຂັ້ນ

    ເມື່ອເປີດໃຊ້, ມາໂຄຣຈະຂໍໃຫ້ເຈົ້າລະບຸຕົວຂັ້ນທີ່ແຍກຄຳສັບ/ສະຕຣິງໃນຕາລາງທີ່ເລືອກ. ຕົວຂັ້ນເລີ່ມຕົ້ນແມ່ນເຄື່ອງໝາຍຈຸດ ແລະ ຍະຫວ່າງ (", ") ແລະມັນຖືກຕັ້ງໄວ້ລ່ວງໜ້າໃນກ່ອງປ້ອນຂໍ້ມູນ:

    Delimiter = InputBox("Specify the delimiter that separates values in a cell", "Delimiter", ", ")

    ໃນລະຫັດຂອງເຈົ້າ, ທ່ານສາມາດໃຊ້ຕົວອັກສອນອື່ນໄດ້. ເປັນຕົວຂັ້ນທີ່ກຳນົດໄວ້ລ່ວງໜ້າ.

    ສີ

    ໂດຍຄ່າເລີ່ມຕົ້ນ, ຟັງຊັນ HighlightDupeWordsInCell ສີຊ້ຳກັນດ້ວຍສີຕົວອັກສອນສີແດງ. ສີຖືກກໍານົດຢູ່ໃນແຖວນີ້:

    Cell.Characters(positionInText, Len(word)).Font.Color = vbRed

    ທີ່ນີ້, vbRed ແມ່ນການຈັດລຽງຂອງສີ VBA ຄົງທີ່. ເພື່ອສະແດງ dupes ໃນສີທີ່ແຕກຕ່າງກັນ, ທ່ານສາມາດທົດແທນ vbRed ດ້ວຍຄ່າຄົງທີ່ອື່ນເຊັ່ນ vbGreen, vbYellow, vbBlue, ແລະອື່ນໆ. T ລາວບັນຊີລາຍຊື່ຂອງຄ່າຄົງທີ່ຂອງສີທີ່ສະຫນັບສະຫນູນສາມາດພົບໄດ້ທີ່ນີ້.

    ນັ້ນແມ່ນ. ວິທີການເນັ້ນໃສ່ຄໍາທີ່ຊ້ໍາກັນໃນຕາລາງ Excel. ຂ້ອຍຂໍຂອບໃຈສຳລັບການອ່ານ ແລະຫວັງວ່າຈະພົບເຈົ້າໃນບລັອກຂອງພວກເຮົາໃນອາທິດໜ້າ!

    ມີໃຫ້ດາວໂຫຼດ

    ຕົວຢ່າງລະຫັດເພື່ອເນັ້ນໃຫ້ຊໍ້າກັນໃນຕາລາງ (ໄຟລ໌ .xlsm)

    ສຸດຍອດ ຊຸດ 14 ວັນທີ່ເຮັດວຽກເຕັມຮູບແບບ (ໄຟລ໌ .exe)

    Michael Brown ເປັນຜູ້ທີ່ມີຄວາມກະຕືລືລົ້ນທາງດ້ານເທກໂນໂລຍີທີ່ອຸທິດຕົນທີ່ມີຄວາມກະຕືລືລົ້ນໃນຂະບວນການທີ່ສັບສົນໂດຍນໍາໃຊ້ເຄື່ອງມືຊອບແວ. ດ້ວຍປະສົບການຫຼາຍກວ່າໜຶ່ງທົດສະວັດໃນອຸດສາຫະກຳເທັກໂນໂລຍີ, ລາວໄດ້ເນັ້ນທັກສະໃນ Microsoft Excel ແລະ Outlook, ເຊັ່ນດຽວກັນກັບ Google Sheets ແລະ Docs. blog ຂອງ Michael ແມ່ນອຸທິດຕົນເພື່ອແບ່ງປັນຄວາມຮູ້ແລະຄວາມຊໍານານຂອງລາວກັບຜູ້ອື່ນ, ສະຫນອງຄໍາແນະນໍາແລະຄໍາແນະນໍາທີ່ງ່າຍຕໍ່ການຕິດຕາມເພື່ອປັບປຸງຜົນຜະລິດແລະປະສິດທິພາບ. ບໍ່ວ່າທ່ານຈະເປັນມືອາຊີບທີ່ມີລະດູການຫຼືຜູ້ເລີ່ມຕົ້ນ, blog ຂອງ Michael ສະເຫນີຄວາມເຂົ້າໃຈທີ່ມີຄຸນຄ່າແລະຄໍາແນະນໍາພາກປະຕິບັດສໍາລັບການໄດ້ຮັບປະໂຫຍດສູງສຸດຈາກເຄື່ອງມືຊອບແວທີ່ຈໍາເປັນເຫຼົ່ານີ້.