حمید قاسمی
حمید قاسمی

1 سال پیش

پاسخ

محدودیت در سلول ها

توی اکسل میشه کاری انجام داد ک کاربر فقط یکبار بتونه توی یه سلول یه عدد وارد کنه اگه بخاد عدد رو تغییر بده پیغام خطایی بده

گزارش تخلف

سؤالات مربوط به VBA در اکسل

برو به

به پشتیبانی نیاز داری؟

در صورتی که

  • در کار با بتازون مشکلی دارید
  • در مورد خدمات بتازون سؤالی دارید
  • نظراتی را برای ارتقا و بهبود خدمات دارید

خوشحال میشیم که حتماً با ما در میان بزارید

سلام

روش های زیادی است.

در VBA تابع Worksheet_SelectionChange وقتی اجرا می شود که کاربر وارد سلول می شود (سلول را انتخاب می کند) جهت تایپ یا تغییر

و تابع Worksheet_Change بعد از تغییر مقدار سلول اجرا می شود.

پس شما می توانید با یک متغیر سراسری، ابتدا با تابع Worksheet_SelectionChange مقدار موجود سلول رو خوانده و در متغیر ذخیره کنید و سپس با تابع Worksheet_Change تغییرات را بررسی کنید. اگر متغیری که مقدار دهی کردید دارای مقدار است همان را دوباره جایگزاری کنید و اینجوری جلوی تغییر را بگیرید.

Dim oldVal

Public Sub Worksheet_SelectionChange(ByVal Target As Range)
    oldVal = Target.Value
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not (IsEmpty(oldVal)) Then
        Target.Value = oldVal
    End If
End Sub

روش دیگر می توان با استفاده از protect کردن شیت و سلول های پر توسط VBA اینکار را انجام داد که فکر کنم کد بالا ساده تره!

گزارش تخلف

برو به

درباره ما

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