حمید قاسمی
1 سال پیش
پاسخ
محدودیت در سلول ها
توی اکسل میشه کاری انجام داد ک کاربر فقط یکبار بتونه توی یه سلول یه عدد وارد کنه اگه بخاد عدد رو تغییر بده پیغام خطایی بده
گزارش تخلف
سؤالات مربوط به VBA در اکسل
برو به
به پشتیبانی نیاز داری؟
در صورتی که
- در کار با بتازون مشکلی دارید
- در مورد خدمات بتازون سؤالی دارید
- نظراتی را برای ارتقا و بهبود خدمات دارید
خوشحال میشیم که حتماً با ما در میان بزارید
علی محمد یاوری
1 سال پیش
سلام
روش های زیادی است.
در 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 اینکار را انجام داد که فکر کنم کد بالا ساده تره!
گزارش تخلف