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

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

در عوض، باید از یک ماکرو برای انجام تغییرات برای شما استفاده کنید. هنگام برنامه نویسی در VBA، می توانید اکسل را مجبور کنید هر زمان که چیزی در یک سلول کاربرگ تغییر می کند، یک ماکرو خاص را اجرا کند. ماکرو زیر را می توان برای تبدیل تمام ورودی کاربرگ به حروف بزرگ استفاده کرد:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.HasFormula Then Exit Sub
        Application.EnableEvents = False
        Target = UCase(Target.Cells(1))
    Application.EnableEvents = True
End Sub

اما برای اینکه ماکرو کار کند، باید در یک مکان خاص وارد شود. برای قرار دادن ماکرو مراحل زیر را دنبال کنید:

  1. ویرایشگر VBA را با فشار دادن Alt+F11 نمایش دهید .
  2. در پنجره Project، در سمت چپ ویرایشگر، روی نام کاربرگ مورد استفاده خود دوبار کلیک کنید. (شاید لازم باشد ابتدا پوشه VBAProject را باز کنید و سپس پوشه Microsoft Excel Objects را در زیر آن باز کنید.)
  3. در پنجره کد مربوط به کاربرگ، ماکرو بالا را Paste کنید.
  4. ویرایشگر VBA را ببندید.

اکنون هر چیزی (به جز فرمول ها) که در هر سلولی از کاربرگ وارد می شود، به طور خودکار به حروف بزرگ تبدیل می شود. اگر نمی خواهید همه چیز تبدیل شود، بلکه فقط سلول ها در یک منطقه خاص از کاربرگ هستند، می توانید ماکرو را کمی تغییر دهید:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not (Application.Intersect(Target, Range("A1:B10")) _
      Is Nothing) Then
        With Target
            If Not .HasFormula Then
                Application.EnableEvents = False
                .Value = UCase(.Value)
                Application.EnableEvents = True
            End If
        End With
    End If
End Sub

در این مثال خاص، تنها متن وارد شده در سلول های A1:B10 تبدیل می شود. بقیه موارد به صورت وارد شده باقی خواهند ماند. اگر نیاز به تبدیل محدوده متفاوتی دارید، آن محدوده را در خط دوم ماکرو مشخص کنید.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

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

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

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

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

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

23.2k سوال

8.5k پاسخ

613 دیدگاه

10.8k کاربر

195 نفر آنلاین
0 عضو و 195 مهمان در سایت حاضرند
بازدید امروز: 13096
بازدید دیروز: 13001
بازدید کل: 19467390
...