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

مایک به طور منظم از VLOOKUP در کاربرگ های خود استفاده می کند، اما به این فکر می کند که آیا راهی برای اجرای ماکرو تابع در صورت عدم بازگشت مقدار وجود دارد یا خیر.

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

=IF(ISERROR(VLOOKUP(B2,CODES,1,FALSE)),MyUDF(),VLOOKUP(B2,CODES,1,FALSE))

تنها کاری که باید انجام دهید این است که مطمئن شوید کد VLOOKUP واقعی خود را در فرمول قرار داده اید (دو بار) و نام تابع تعریف شده توسط کاربر را که می خواهید راه اندازی کنید جایگزین MyUDF کنید.

روش دیگر این است که یک رویداد کنترل کننده برای رویداد Calculate راه اندازی کنید. این می تواند بسیار ساده باشد، مانند موارد زیر:

Private Sub Worksheet_Calculate()
    If IsError(Range("A1")) Then Call Macro1
End Sub

این مثال فرض می کند که فرمول VLOOKUP در سلول A1 است و اگر VLOOKUP خطایی را برگرداند، می خواهید یک ماکرو به نام Macro1 اجرا کنید. پس از آن ماکرو شما می تواند هر کاری را که شما نیاز دارید انجام دهد. همچنین به یاد داشته باشید که کنترل کننده رویداد Calculate باید در شی ThisWorksheet قرار گیرد.

همانطور که در اینجا نشان داده شده است، می توانید کنترل کننده رویداد Calculate را کمی قوی تر کنید:

Private Sub Worksheet_Calculate()
    On Error GoTo myMac
    Worksheets(1).Select
    If Range("A1").Value Then
        Exit Sub
    End If
myMac:
    Macro1   macro to run if VLOOKUP fails
End Sub
اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

156 نفر آنلاین
0 عضو و 156 مهمان در سایت حاضرند
بازدید امروز: 15920
بازدید دیروز: 21973
بازدید کل: 15288784
...