صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 15

موضوع: تغییر در خصوصیات سلول با نوشتن دستور

  1. #1


    آخرین بازدید
    2022/02/02
    تاریخ عضویت
    October 2013
    محل سکونت
    شیراز
    نوشته ها
    17
    امتیاز
    12
    سپاس
    16
    سپاس شده
    5 در 5 پست
    تعیین سطح نشده است

    Question تغییر در خصوصیات سلول با نوشتن دستور

    با سلام خدمت دوستان گرامی
    می خواستم بدونم دستور یا تابعی هست که بشه خصوصیات یک سلول مثل رنگ یا locked بودن را باهاش تغییر داد. مخصوصا locked را الان احتیاج دارم.
    مثلا الان می خوام یه برنامه درست کنم که protect شده باشه و فقط خونه هایی که locked نیستن را بشه توش انتخاب کرد. بعد می خوام تو یه سلول تعداد داده های ورودی از کاربر خواسته بشه، بعد به تعداد داده شده، یه سری سلول unlocked بشن که بشه توشون داده ها را وارد کرد.
    آیا امکان این کار وجود داره؟
    اگه میشه روشی بگید که با نوشتن یه دستور توی سلول بشه اینکارو کرد، اگه نمیشه هم لطفا راه نوشتنشو با VBA اگه می دونید توضیح بدید. البته من تا حالا اصلا با VBA کار نکردم. اگه می شه یه جوری بگید متوجه شم.
    با تشکر فراوان
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2.  

  3. #2


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود
    دیر وقته الان و شاید جواب زیاد حرفه ای نباشه . اگه درست متوجه شده باشم مثلا میشه این کارو کرد
    1- اول شیتتون پروتکت کنین مثلا password رو بزاریم amin
    2- حالا همه سل ها قفلا مثلا شما میخواین کاربر براش N سل از A1 تا A باز بشه . من نظرم با یه inputbox بود که اول نمایش داده بشه و از شما بخواد که چند تا سل از پروتکت شدن خارج بشه
    یه چیزی شبیه کد زیر رو برای یه command button نوشتم
    البته شاید منظور شما این نباشه


    کد:
    ActiveSheet.Unprotect Password:="amin"
    Cells.Locked = True
    
    '"""""""""""""""""""""""""""""""""""""""""""""""
    Dim m
    m = InputBox("please enter maximum cell to Unlock", "Unlocker")
        Dim c As Range
        Application.ScreenUpdating = False
           For Each c In Range("A1:A" & m)
       c.Locked = False
        Next c
     
       ActiveSheet.Protect Password:="amin"
        Application.ScreenUpdating = True



    خوب اگرم که بخوایم تو یه سل خاص عدد وارد بشه قبل از این که کل شیت پروتکت بشه میشه اون سل رو تیکش رو برداشت.مثلا کد میشه یه چیزی شبیه زیر

    کد:
    ActiveSheet.Unprotect Password:="amin"
    Cells.Locked = True
    Range("B1").Locked = False
    
    
    
    '"""""""""""""""""""""""""""""""""""""""""""""""
    Dim m
    m = Sheet1.Range("B1").Value
        Dim c As Range
        Application.ScreenUpdating = False
           For Each c In Range("A1:A" & m)
          c.Locked = False
        Next c
    
        ActiveSheet.Protect Password:="amin"
        Application.ScreenUpdating = True
    سوالی بود در خدمتم. دست اخر جای تاپیکی که ایجاد کردین توی تالار ویژوال بود نه اینجا. با فرمول بعید میدونم بشه. اگرم من بد متوجه سوال شدم . یا حرفه ای تر میخواین باید دقیقا بگین چیکار کنیم یا فایل نمونه. پسورد واسه ویژوال هم یادتون نره .
    ویرایش توسط امين اسماعيلي : 2013/11/24 در ساعت 01:38
    در پناه خداوندگار ایران زمین باشید و پیروز


  4. #3


    آخرین بازدید
    2022/02/02
    تاریخ عضویت
    October 2013
    محل سکونت
    شیراز
    نوشته ها
    17
    امتیاز
    12
    سپاس
    16
    سپاس شده
    5 در 5 پست
    تعیین سطح نشده است

    با تشکر از امین اسماعیلی عزیز، من همون طور که گفتم تا حالا با قسمت ویژوال کار نکردم، میشه یه جوری توضیح بدبد که این دستورات را کجا وارد کنم و چطور ازشون استفاده کنم؟ اگه هم توضیحاتش زیاد میشه، اگه جایی می دونید مطلب توضیح داده شده بگید خودم می خونم. با تشکر

  5. #4


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود
    دوست عزیز اینکه جایی قبلا توضیح داده شده باشه که من به خاطر ندارم. کلا VBA یک مبحث کاربردی هستش و برای یادگیریش نیاز به پشتکار داره. اگر نیاز به یادگیری اصولی دارین توی دوره هایی که تو همین سایت برگزار میشه شرکت کنین حتما بدردتو خواهد خورد . توی همین سایت میتونید نمونه کارهای مختلفی رو که با ویژوال انجام شده رو پیدا کنید و ببینین که چه کاربرد های متنوعی داره .
    سر موضوع شما و این سوال .
    من یه فایل pdf آماده میکنم که چطوری یه سری پیش فرض ها رو قبل از کار با ویژوال فعال کنین و بعدش به سوالتون برسیم و از این به بعد اگه سوالای دیگه ای پیش اومد دیگه گیج نشین که کد ها رو کجا باید گپی کنین.

    فقط یکم وقت بدین تا من امادش کنم
    در پناه خداوندگار ایران زمین باشید و پیروز


  6. #5


    آخرین بازدید
    2022/02/02
    تاریخ عضویت
    October 2013
    محل سکونت
    شیراز
    نوشته ها
    17
    امتیاز
    12
    سپاس
    16
    سپاس شده
    5 در 5 پست
    تعیین سطح نشده است

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

  7. #6


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود به همه دوستان

    فایل زیر رو اماده کردم با کمک استاد شمس البته اگر ایراد نوشتاری و ........ رو داره همهش گردن من و بزارین پای نبود وقت

    یه مطلب هستش واسه دوستانی که با vba اشنایی ندارن . البته شاید بدرد بقیه هم بخوره. 100 در 100 این موضوع تو کلاس های اموزشی بحث شده و من با اجازه استاد شمس و بقیه اساتید واسه اخرین بار این مطلب پایه ای رو که میدونم باید جزوی از کورس اموزشی باشه رو میزارم که دوستان علاقمند بخونن و یه اشنایی پیدا کنن واسه دوره ها :
    یه فایل pdf و 2 تا فایل اکسل یکی واسه تمرین و یکی هم برای دوست عزیز که سوال رو مطرح کردن گذاشتم .

    فقط یه مورد میمونه واسه دوست عزیز و اونایی که تازه وارد مسئله VBA میشن. نحوه فعال کردن macro واسه همیشه رو سیستمشون هست که فکر میکنم به کرات در سایت بحث شده و این کار رو میزارم بر عهده خودشون.
    ویرایش توسط امين اسماعيلي : 2013/11/25 در ساعت 12:45
    در پناه خداوندگار ایران زمین باشید و پیروز

  8. سپاس ها (1)


  9. #7


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    بادرود

    بابت اینکه لینک میدم عذر مارو بپذیرین . همونطور که میبینین 2 بارم ویرایش کردم نتونستم اپلود کنم

    http://www.uplooder.net/cgi-bin/dl.c...52983b6563ad45
    در پناه خداوندگار ایران زمین باشید و پیروز


  10. #8


    آخرین بازدید
    2022/02/02
    تاریخ عضویت
    October 2013
    محل سکونت
    شیراز
    نوشته ها
    17
    امتیاز
    12
    سپاس
    16
    سپاس شده
    5 در 5 پست
    تعیین سطح نشده است

    یک دنیا ممنون از لطفتون آقای اسماعیلی، خیلی استفاده کردم و حتما برای خیلی از دوستان هم مفید بوده
    اون دستور دومی که نوشتید برای یه ماکرو هست دیگه برای یه کلید نیست درسته؟ اگه اینطوریه میشه برنامه ای برای خود سلول نوشت که بر طبق عددی که توش نوشته میشه یه سری سلول را unlock کنه؟ بدون اینکه ماکرو ای را اجرا کنیم. فرض کنید تمام صفحه از قبل protect شده و فقط سلول A1 باز هست و به مقدار عددی که توش می نویسیم توی ستون B سلول unlock بشه و آماده دریافت ورودی بشه
    با تشکر
    ویرایش توسط alishams119900 : 2013/11/26 در ساعت 17:59

  11. #9


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود
    کدی که نوشته شد هر دو رو برای یه کلید میشه نوشت. اما این چیزی که از شواهد پیداست شما میخواین که در یه سل بنویسین و بدون کلید این کار انجام بشه. خوب 2 کار شما رو راه میندازه. دومی تو سل b1 باید بنویسیم حالا ما اونو باید یه تغییر بدیم. و همچنین شما فکر کنم نمی خوای از کلید استفاده کنی . خوب من یه تغییر کوچیک میدم شما برسی کن.
    در پناه خداوندگار ایران زمین باشید و پیروز

  12. سپاس ها (1)


  13. #10


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود
    دیر وقت هم شده و ما هم خسته ولی چیکار کنیم یه مدت نبودیم باید تنبیه بشیم .
    دوست عزیز یه نمونه فایل گذاشتم هرچند نباید میذاشتم چون حد اقلش با کد دوم خودت باید یه کاریش میکردی . اگر در کد دوم دقت میکردی و یه تغییر کوچیک توش میدادی میشد با همون کلید حلش کرد یعنی به این صورت :
    کد:
    Application.ScreenUpdating = False
    ActiveSheet.Unprotect Password:="amin"
    Cells.Locked = True
    Range("A1").Locked = False
    
    
    
    '"""""""""""""""""""""""""""""""""""""""""""""""
    Dim m
    m = Sheet1.Range("A1").Value
        Dim c As Range
        Application.ScreenUpdating = False
           For Each c In Range("B1:B" & m)
          c.Locked = False
        Next c
    
      ActiveSheet.Protect Password:="amin"
    Application.ScreenUpdating = True
    با در نظر گرفتن این که شما میخوای وقتی A1 تغییر کرد کد اجرا بشه و باتن نباشه ما باید برای ایونت change شیت و مختص A1 کد بنویسیم که وقتی تغییر کرد کد ها اجرا بشه انگار یه کلید فشار داده شده مثل کد زیر

    که نمونه این کارم قبل انجام شده
    کد:
    On Error Resume Next
      If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
    If Target.Address = "$A$1" Then
    Application.ScreenUpdating = False
    ActiveSheet.Unprotect Password:="amin"
    Cells.Locked = True
    Range("A1").Locked = False
    
    
    
    '"""""""""""""""""""""""""""""""""""""""""""""""
    Dim m
    m = Sheet1.Range("A1").Value
        Dim c As Range
        Application.ScreenUpdating = False
           For Each c In Range("B1:B" & m)
          c.Locked = False
        Next c
    
        ActiveSheet.Protect Password:="amin"
           End If
            Application.ScreenUpdating = True
    خواهشن . میدونم خیلی از دوستان تازه عضو میشن و سوالای زیادی تو ذهنشون میاد . از قبل مطالب قبلی رو نگاه کنن. خیلی ها نه من ، زحمت زیادی کشیدن تا سایت به اینجا رسیده حداقل واسه زحمت هایی که اونها کشیدن مطالب رو برسی کنیم
    فايل هاي پيوست شده فايل هاي پيوست شده
    در پناه خداوندگار ایران زمین باشید و پیروز



صفحه 1 از 2 12 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. ساختار صحیح دستورات شرطی در vb
    توسط امیر رضا دهقان در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 1
    آخرين نوشته: 2013/01/05, 08:40
  2. تغییر رنگ Textbox به محض تغییر محتوای ان
    توسط Nima در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 2
    آخرين نوشته: 2012/06/25, 17:32
  3. دستوری برای فیلتر کردن
    توسط farzin24622 در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 5
    آخرين نوشته: 2011/12/27, 23:55

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

نوشتن دستور if در vb درسلول های excel

کشیدن گیج داشبورد در اکسل

دستور مقدار دادن به خانه های Excel در ویژوال بیسیک 2010

ویژگیهای سلول در اکسل

نوشتن دستور if در excel تغییر رنگ

دستور سلول

تغییر رنگ دادان سل با دستور شرطی vb

dashboard excel گیج

کد نغییر ویِگی unloked یک سلول در اکسل

دستور تغییر الگوی format cell در vba

تابع بازگرداندن يك سل با ويژگي خاص در اكسل

دستور application.screenupdating در vba

نوشتن if در اکسل و تغییر رنگ سلول

دستور اجرای سلول فرم در اکسس

ويژگيهاي سلول هاي اكسل

نوشتن دستور در اکسس 2010

تغییر رنگ یک سلول در اکسل 2010 با فرمول

تغییر رنگ سلول با دستور ایف در اکسل

تغییر رنگ cell با توجه به مقدار در Excel

نوشتن دستورات شرطی برای سلول هادر vba

نوشتن دستورات vb در اکسل برای دکمه جستجو

تغییر رنگ سلول در دستور if

دستور cell

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است
با ما در تماس باشيد