نوشتن ماکرو برای جستجو در ستونهای اکسل

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • mhg134141

    • 2019/02/02
    • 19

    [حل شده] نوشتن ماکرو برای جستجو در ستونهای اکسل

    با سلام
    با ارسال تصویر زیر خواهشمندم اگر ممکن باشد بفرمایید ایا میتون با ماکرو نویسی در اکسل جستجو در ستونها را بدون نیاز به منو بار و Find انجام داد ؟
    مثل تصویر با کلیلک بر روی باکس جستجو با شماره پرونده ، شماره پرونده از کاربر درخواست شود و با وارد کردن شماره پرونده توسط کاربر ، سیستم خودش جستجو را انجام و در صورت وجود اسکرول بر روی همان شماره پرونده توقف کند و اگر موجود نبود پیغام دهد چنین شماره ای وجود ندارد . بسیار ممنون از راهنمایی اساتید .
    فایل های پیوست شده
    Last edited by mhg134141; 2019/02/06, 14:51.
  • hadi1980

    • 2019/01/07
    • 237
    • 86.00

    #2
    سلام
    يه نکته مهم يادتون باشه که ما اگه از VBA استفاده ميکنيم براي اينه که از ترکيب VB و Application بيشترين بهره‌ رو ببريم و در واقع هيچ الزامي به اين موضوع نيست
    مثلا من چند وقت پيش سعي کردم از الگوريتم و (دکمه) سورت براي مرتب کردن داده‌ها استفاده کنم ولي وقتي ديدم اکسل داره طول ميده خب خيلي راحت برنامه سورت رو خودم نوشتم
    خلاصه اينکه جوابتون بله است و براحتي ميشه با تبيين الگوريتم اون اين ماکرو رو نوشت
    براي جستجو کافيه روي کل داده‌ها با يه if شرط تون رو کنترل کنيد و براي انتخاب و رفتن به سلول نتيجه هم ميتونيد از select استفاده کنيد به همين سادگي
    اگه هم هيچي تو ماکرو نويسي بلد نيستيد که بايد فايل بزاريد تا بشه براتون نوشت
    موفق باشيد
    هادي

    کامنت

    • mhg134141

      • 2019/02/02
      • 19

      #3
      سلام آقا هادی از پاسخ و راهنمائی شما متشکر :
      بدلیل محرمانه بودن اطلاعات مشتریان ارسال فایل ممکن نیست . اگر لطف کنین یه ماکرو بشرح زیر بنویسید بقیه رو خودم ادیت میکنم .
      جستجو در ستون A :
      با اجرای ماکرو پنجره ای ظاهر شود و شماره پرونده را از کاربر بپرسد
      با دادن شماره پرونده و اینتر روی آن یا کلیک بر روی اوکی ، ماکرو ستون A را select کند و جستجور را انجم دهد در صورت یافتن اسکرول بر روی سلول مورد نظر توقف کند
      اگر شماره یافت نشد پنجره دیگری ظاهر شود و پیغام دهد شماره مورد نظر یافت نشد .
      سپاسگزارم مسعود

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        با سلام


        یک ماکرو ساده برای جستجو در ستون A

        چنانچه فرمت سل ستون A تکست میباشد میتوانید دو تا val را در ماکرو ذیل حذف کنید If Val(Range("A" & I)) = Val(TextBox1) Then


        کد PHP:
        Private Sub CommandButton1_Click()

        z1 Cells(Rows.Count"A").End(xlUp).Row

        For 2 To z1

        If Val(Range("A" I)) = Val(TextBox1Then

        Range
        ("A" I).Select

        MsgBox 
        "OK"

        Exit For

        End If

        Next

        End Sub 
        فایل های پیوست شده
        Last edited by iranweld; 2019/02/07, 13:33.

        کامنت

        • mhg134141

          • 2019/02/02
          • 19

          #5
          سلام و متشکرم .
          این ماکرو در فایل پیوستی شما کار میکند اما وقتی در فایل خودم این ماکرو رو مینویسم کار نمیکند و باکسی ظاهر نمیشود که از من داده ای بگیرد . خود ماکرو میرود و در اولین سل خالی توقف و پنجره ok ظاهر میشود .

          کامنت

          • hadi1980

            • 2019/01/07
            • 237
            • 86.00

            #6
            نوشته اصلی توسط iranweld
            با سلام


            یک ماکرو ساده برای جستجو در ستون A

            چنانچه فرمت سل ستون A تکست میباشد میتوانید دو تا val را در ماکرو ذیل حذف کنید If Val(Range("A" & I)) = Val(TextBox1) Then
            سلام
            يه نکته گفتم شايد براتون جالب باشه
            بجاي حذف val من هميشه اينکار رو ميکنم
            هر دو طرف تساوي رو با صفر جمع ميکنم اينجوري تکست بطور اتوماتيک به عدد تبديل ميشه البته اگه تکستمون حاوي عدد باشه
            خب البته چون اگه تکستمون حاوي تکست باشه با خطا مواجه ميشه خط قبلش هم نوشتيم آن ارور رزيوم تو نکست

            کامنت

            • hadi1980

              • 2019/01/07
              • 237
              • 86.00

              #7
              نوشته اصلی توسط mhg134141
              سلام و متشکرم .
              این ماکرو در فایل پیوستی شما کار میکند اما وقتی در فایل خودم این ماکرو رو مینویسم کار نمیکند و باکسی ظاهر نمیشود که از من داده ای بگیرد . خود ماکرو میرود و در اولین سل خالی توقف و پنجره ok ظاهر میشود .
              سلام
              خب معلومه نبايد اين ماکرو به تنهايي کار کنه
              فايل اکسل ايشون شامل يه يوزرفرم هم هست که دکمه اي داره و اين سابروتين به اون دکمه نسبت داده شده
              يعني اگه ميخواهيد تو فايلتون اجراش کنيد بايد اون فرم و دکمه هم تعريف بشن

              کامنت

              • mhg134141

                • 2019/02/02
                • 19

                #8
                سلام
                متشکرم تست میکنم و نتیجه رو به عرض میرسانم .

                کامنت

                چند لحظه..