مرحوم محمد محمدی

🖤 پیام تسلیت

با نهایت تأسف و تأثر، باخبر شدیم جناب آقای محمد محمدی با نام کاربری smartman ، از مدیران ارزشمند انجمن اکسل ایران، دار فانی را وداع گفته‌اند.

ایشان سال‌ها با دانش، تجربه، اخلاق نیکو و روحیه کمک به دیگران، سهم بزرگی در رشد و پویایی انجمن داشتند و خاطره حضور ارزشمندشان همواره در ذهن اعضای انجمن باقی خواهد ماند.

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


انا لله و انا الیه راجعون

نکته مهم در قفل سلول از طریق vba

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali.b

    • 2014/01/12
    • 798

    نکته مهم در قفل سلول از طریق vba

    با سلام و خسته نباشید
    یکی از نکاتی که کمتر دیدم اینه که خیلی از کاربرا از جمله خودم به انتقال داده ها با استفاده از کد از یک شیت محافظت شده به شیت دیگه ، نیاز زیادی پیدا کرده بودیم
    اما غافل از اینکه وقتی ما در یک شیتی و در سلول های مشخص UNLOCK هستند داده ها رو ثبت میکنیم
    مشکل اینجاست که چون Format cell این سلول ها Unlocked شده در صورت انتقال هم اون سلول ها همین خاصیت رو دارن و عملا فقط شیت رمز گذاشته میشه ولی سلول ها قابل تغییرن
    برای حل مشکل باید از کد زیر استفاده کنیم تا format cell رو به حالت lock برگردونه تا در شیت جدید اطلاعات قابل تغییر نباشن
    این ی نمونه کد هست و قسمتی که مهمه رو با رنگ دیگه مشخص کردم
    کد:
    ActiveSheet.Unprotect Password:="Enter your Password"
    [COLOR=#ff0000]Worksheets[/COLOR][COLOR=#ff0000]("Enter your sheet name").Range("A1:E1")[/COLOR][COLOR=#008000].Locked = True[/COLOR]
    ActiveSheet.Protect Password:="Enter your Password"
    [CENTER]
    [/CENTER]
  • ali.b

    • 2014/01/12
    • 798

    #2
    در ضمن اگه یه وقتی تعداد شیتتون زیاد بود و یک کد جامع نوشتین میتونین کد مربوطه رو به حالت زیر تغییر بدین

    کد:
    [COLOR=#ff0000]Worksheets[/COLOR][COLOR=#ff0000]("Enter your sheet name").Range("A1:E1")[/COLOR][COLOR=#008000].Locked = True[/COLOR]
    مثلا به این حالت
    کد:
    Sheets(i).Activate
    Range("A3").Select
        Range("A1:E1").Locked = True
    [CENTER]
    [/CENTER]

    کامنت

    • Amir Ghasemiyan

      • 2013/09/20
      • 4600
      • 100.00

      #3
      نوشته اصلی توسط absorkhi
      در ضمن اگه یه وقتی تعداد شیتتون زیاد بود و یک کد جامع نوشتین میتونین کد مربوطه رو به حالت زیر تغییر بدین

      کد:
      [COLOR=#ff0000]Worksheets[/COLOR][COLOR=#ff0000]("Enter your sheet name").Range("A1:E1")[/COLOR][COLOR=#008000].Locked = True[/COLOR]
      مثلا به این حالت
      کد:
      Sheets(i).Activate
      Range("A3").Select
          Range("A1:E1").Locked = True

      ممنون از آموزشتون
      كد آخري كه گذاشتين رو ميشه اينطوري خلاصه كرد:


      کد:
      Sheets(i).Range("A1:E1").Locked = True

      کامنت

      چند لحظه..