تغییر فرمت بخشی از محتوای یک سلول با کدهای vba

با کد نویسی در محیط vba می توان فرمت بخشی از محتوای یک سلول اکسل را با توجه به عبارتی که کاربر در یک کادر محاوره ای مشخص می کند تغییر داد.
بعنوان مثال در سلولهای محدوده A1:A7 یکسری عبارت نوشته شده، می خواهیم برنامه ای بنویسیم که یک کادر محاوره ای بصورت زیر باز شود و از کاربر بخواهد یک عبارتی را در داخل این کادر تایپ کند و برنامه با توجه به عبارت مشخص شده توسط کاربر در محدوده سلولهای A1:A7 جستجو کند و عبارت مورد نظر کاربر را پیدا کرده و آنرا با مثلا رنگ قرمز مشخص کند.

چنانچه کاربر بعنوان مثال عبارت vba را در داخل این کادر تایپ کرد عبارت vba در محدوده انتخابی جستجو شده و آن عبارت با رنگ قرمز نمایان خواهد شد.

برای این کار کافی است روی sheet1 فایل اکسل راست کلیک کنید تا محیط کدنویسی vba باز شود و در این محیط کدهای زیر را قرار دهید:
()Sub ChangeWordFormat
Dim rng As Range
Dim cell As Range
Dim textvalue As String
Set rng = Range(“A1:A7”)
For Each cell In rng
cell.Value = WorksheetFunction.Trim(cell)
Next
textvalue = InputBox(“Please Enter Text You Want to change format”)
For Each cell In rng
If InStr(cell.Text, textvalue) Then
cell.Characters(WorksheetFunction.Find(textvalue, cell.Value), Len(textvalue)).Font.Color = vbRed
End If
Next
End Sub
این کد وقتی اجرا شود، یک کادر محاوره ای نمایش داده میشود که کاربر میتواند هر عبارتی که مدنظر دارد را بنویسد و روی دکمه ok کلیک نماید و نتیجه را مانند تصویر بالا مشاهده کند.
امیدوارم این بخش آموزشی مورد توجه و استفاده شما قرار گرفته باشد.
چقدر این مقاله برای شما مفید بود؟
برای امتیاز دادن روی یکی از ستاره ها کلیک کنید(ستاره سمت چپ بیشترین امتیاز و ستاره سمت راست کمترین امتیاز)
میانگین امتیاز 5 / 5. تعداد امتیاز: 1
اولین کسی باشید که امتیاز میدهید