

برای هایلایت کردن متن اکسل ، فرض می کنیم محدوده داده ای دارید نام کالاها درون آن وارد شده و حالا می خواهید یک کلمه را درون نام کالاها پیدا کرده و هایلایت نمائید .
روش اول ، باز شدن پنجره پیغام
در این روش محدوده داده را انتخاب نموده و کد را اجرا می نمائید
پنجره ای باز می شود و از شما می خواهد تا کلمه مورد نظر را وارد کنید .
خواهید دید که متن وارد شده در باکس درون سلولها هایلایت می شود .
مراحل هایلایت کردن قسمتی از متن درون سلول اکسل :
1- فایل اکسل خود را باز کنید ، ( سعی کنید فقط فایل مورد نظر باز باشد )
2- با زدن کلیدهای Alt F11 وارد قسمت کد نویسی شوید .
3- در فضای خالی سمت چپ کلیک کرده و Insert Module را بزنید
4- کدهای زیر را در آنجا قرار دهید .
Sub samangantarabarHighlight() Application.ScreenUpdating = False Dim Rng As Range Dim cFnd As String Dim xTmp As String Dim x As Long Dim m As Long Dim y As Long cFnd = InputBox("متن مورد نظر را وارد نمائید ") y = Len(cFnd) For Each Rng In Selection With Rng m = UBound(Split(Rng.Value, cFnd)) If m > 0 Then xTmp = "" For x = 0 To m - 1 xTmp = xTmp & Split(Rng.Value, cFnd)(x) .Characters(Start:=Len(xTmp) 1, Length:=y).Font.ColorIndex = 3 xTmp = xTmp & cFnd Next End If End With Next Rng Application.ScreenUpdating = True End Sub
5- به اکسل برگردید و از منوی Insert یک Shape در فایل اکسل خود قرار دهید .
6- روی Shape کلیک راست کرده و گزینه Assign Macro را انتخاب کنید .
اجرای ماکرو در اکسل
7- از پنجره باز شده گزینه samangantarabarHighlight را انتخاب کرده و OK کنید .
8- حالا محدوده داده را انتخاب کرده و روی Shape کلیک کنید .
9- متنی که می خواهید هایلایت شود را وارد کرده و Ok کنید .
10- نتیجه نهایی این روش را در تصویر زیر ببینید.
روش دوم ، انتخاب دو ستون
در این روش کنار ستون مد نظر یک ستون دیگر ایجاد میکنید
متن مورد که می خواهید در سلول کناری پیدا شده و هایلایت شود را وارد می کنید .
مراحل زیر را انجام میدهید.
- مرحله یک تا شش را از روش قبل انجام دهید .
Sub highlight() Dim xStr As String Dim xRg As Range Dim xTxt As String Dim xCell As Range Dim xChar As String Dim I As Long Dim J As Long On Error Resume Next If ActiveWindow.RangeSelection.Count > 1 Then xTxt = ActiveWindow.RangeSelection.AddressLocal Else xTxt = ActiveSheet.UsedRange.AddressLocal End If LInput: Set xRg = Application.InputBox("محدوده داده را انتخاب کنید :", "samangantarabar.ir", xTxt, , , , , 8) If xRg Is Nothing Then Exit Sub If xRg.Areas.Count > 1 Then MsgBox "باید دو ستون داده انتخاب نمائید", vbMsgBoxRight vbInformation, "samangantarabar.ir" GoTo LInput End If If xRg.Columns.Count 2 Then MsgBox "باید دو ستون داده انتخاب نمائید ", vbMsgBoxRight vbInformation, "samangantarabar.ir" GoTo LInput End If For I = 0 To xRg.Rows.Count - 1 xStr = xRg.Range("B1").Offset(I, 0).Value With xRg.Range("A1").Offset(I, 0) .Font.ColorIndex = 1 For J = 1 To Len(.Text) If Mid(.Text, J, Len(xStr)) = xStr Then .Characters(J, Len(xStr)).Font.ColorIndex = 3 Next End With Next I End Sub
- در پنجره باز شده گزینه samangantarabarHighligh2 را انتخاب کرده و OK کنید .
- روی Shape کلیک کنید .
- باید دو ستون محدوده داده انتخاب نمائید .
نتیجه مانند تصویر زیر خواهد شد.