ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
32 visibility
موضوع: آفیس توسط:

والتر یک کاربرگ دارد که تعدادی جعبه متن در آن وجود دارد. او می‌خواهد در میان آن جعبه‌های متن جستجو کند تا متن خاصی را بیابد، اما Find and Replace قادر به یافتن متن در جعبه‌های متنی نیست. او فکر می کند که آیا راهی برای جستجو در جعبه های متن وجود دارد؟

حق با والتر است. شما نمی توانید متنی را که در جعبه های متنی در اکسل قرار دارد پیدا کنید. برای آزمایش این، ما یک کتاب کار کاملاً جدید را باز کردیم، یک عبارت واحد را در آن قرار دادیم ("پیام من")، و سپس تعدادی متن و اعداد تصادفی را در سلول های دیگر در کاربرگ قرار دادیم. سپس، در حالی که کادر متن انتخاب نشده بود، Ctrl+F برای جستجوی "پیام من" فشار داده شد. اکسل با وفاداری گزارش داد که نمی تواند متن را پیدا کند، حتی اگر هنوز در جعبه متن وجود دارد.

خوشبختانه، شما می توانید متن را در یک جعبه متن با استفاده از یک ماکرو جستجو کنید. هر کادر متنی در یک کاربرگ متعلق به مجموعه Shapes است، بنابراین تنها کاری که باید انجام دهید این است که از هر یک از اعضای مجموعه عبور کنید و ببینید آیا متن مورد نظر در آن وجود دارد یا خیر. در اینجا یک ماکرو وجود دارد که یک رشته جستجو را درخواست می کند و سپس آن را در جعبه های متن جستجو می کند.

Sub FindInShape1()
    Dim rStart As Range
    Dim shp As Shape
    Dim sFind As String
    Dim sTemp As String
    Dim Response

    sFind = InputBox("Search for?")
    If Trim(sFind) = "" Then
        MsgBox "Nothing entered"
        Exit Sub
    End If
    Set rStart = ActiveCell
    For Each shp In ActiveSheet.Shapes
        sTemp = shp.TextFrame2.TextRange.Characters.Text
        If InStr(LCase(sTemp), LCase(sFind)) <> 0 Then
            shp.Select
            Response = MsgBox( _
              prompt:=shp.Name & vbCrLf & _
              sTemp & vbCrLf & vbCrLf & _
              "Do you want to continue?", _
              Buttons:=vbYesNo, Title:="Continue?")
            If Response <> vbYes Then
                Set rStart = Nothing
                Exit Sub
            End If
        End If
    Next
    MsgBox "No more found"
    rStart.Select
    Set rStart = Nothing
End Sub

این ماکرو به تمام اشکال موجود در کاربرگ نگاه می کند، نه فقط جعبه های متن. اگر ترجیح می دهید جستجوی خود را فقط به کادرهای متنی محدود کنید، می توانید به جای مجموعه Shapes از مجموعه TextBoxs عبور کنید. در هر صورت خوب کار خواهد کرد

همچنین توجه داشته باشید که این رویکرد هر بار که متن مطابق را پیدا می کند متوقف می شود (مورد متن مهم نیست) و از شما می پرسد که آیا می خواهید ادامه دهید. در عوض، ممکن است یک ماکرو بخواهید که به سادگی متن منطبق را در کادرهای متن علامت گذاری کند. این را می توان با یک ماکرو کوتاه تر انجام داد، همانطور که در اینجا نشان داده شده است:

Sub FindInShape2()
    Dim shp As Shape
    Dim sFind As String
    Dim sTemp As String
    Dim iPos As Integer
    Dim Response

    sFind = InputBox("Search for?")
    If Trim(sFind) = "" Then
        MsgBox "Nothing entered"
        Exit Sub
    End If
    sFind = LCase(sFind)
    For Each shp In ActiveSheet.Shapes
        sTemp = LCase(shp.TextFrame2.TextRange.Characters.Text)
        iPos = InStr(sTemp, sFind)
        If iPos > 0 Then
            With shp.TextFrame2.TextRange.Characters(Start:=iPos, _
              Length:=Len(sFind)).Font
                .UnderlineStyle = msoUnderlineHeavyLine
                .Bold = True
            End With
        End If
    Next
    MsgBox "Finished"
End Sub

این ماکرو با استفاده از یک خط سنگین زیر متن واقع شده خط می کشد و سپس آن را پررنگ می کند. وقتی کارتان تمام شد، احتمالاً می خواهید متن را به متن معمولی برگردانید. با استفاده از ماکرو زیر می توانید این کار را انجام دهید:

Sub ResetFont()
    Dim shp As Shape

    For Each shp In ActiveSheet.Shapes
        With shp.TextFrame2.TextRange.Characters.Font
            .UnderlineStyle = msoNoUnderline
            .Bold = False
        End With
    Next
End Sub
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 46 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 20 visibility
ارسال شده در 25 تیر 1402 موضوع: آفیس توسط: Admin
0 دوستدار 0 امتیاز منفی
0 پاسخ 30 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 42 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 94 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

292 نفر آنلاین
0 عضو و 292 مهمان در سایت حاضرند
بازدید امروز: 10326
بازدید دیروز: 25180
بازدید کل: 20347677
...