نمایش نتایج: از شماره 1 تا 8 , از مجموع 8

موضوع: ویژوال بیسیک در اکسل

  1. #1


    آخرین بازدید
    2019/01/20
    تاریخ عضویت
    April 2015
    نوشته ها
    12
    امتیاز
    14
    سپاس
    15
    سپاس شده
    4 در 3 پست
    تعیین سطح نشده است

    ویژوال بیسیک در اکسل

    باسلام
    دوستان من در فایل اکسل یک کد ویژوال بیسیک قرار دادم که جواب میده بدون مشکل
    این کد در مورد تغییر کپشن تعداد زیادی لیبل هست!
    میخوام این کد رو یکبار برای هر مثلا 100تا لیبل بنویسیم و فکر کنم باید از حلقه for each استفاده کنم ولی متاسفانه بلد نیستم چطوری . وگرنه باید 100 بار کد رو بنویسم و عوض کنم!
    نکته دوم اینه که کدی که برای تکی جواب میده باید در رویداد کلیک اون لیبل ثبت بشه در صورتی که نمیدونم حتی اگه کد واحدی برای هر 100 لیبل پیدا کردم در چه رویدادی باید ثبت بشه
    کد این هست:


    Private Sub Label2_Click
    If Label2.Caption = "1" Then
    Label2.Caption = "2"
    Label2.BackColor = &H80FF&
    Else
    Label2.Caption = "1"
    Label2.BackColor = &H8EF3A2
    End If
    End Sub
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.

  2.  

  3. #2


    آخرین بازدید
    2016/11/06
    تاریخ عضویت
    January 2014
    محل سکونت
    تهران
    نوشته ها
    149
    امتیاز
    1192
    سپاس
    175
    سپاس شده
    414 در 123 پست
    تعیین سطح نشده است

    سلام . با فرض اینکه تمام لیبیل ها درون یک usrform هست و شما می خواهید برای تمام 100 لیبل کد مورد نظر رو داشته باشید از این کد می تونید استفاده کنید : (در غیر این صورت لطفا بیشتر توضیح دهید)
    * توجه کنید که شما باید این کد رو در رویدادهای userform ایجاد کنید یعنی روی userform کلیک کنید و این کد رو پیست کنید .
    کد:
    Private Sub UserForm_Initialize()
    Dim i
    For i = 1 To 100
    If Controls("Label" & i).Caption = "1" Then
    Controls("Label" & i).Caption = "2"
    Controls("Label" & i).BackColor = &H80FF&
    Else
    Controls("Label" & i).Caption = "1"
    Controls("Label" & i).BackColor = &H8EF3A2
    End If
    Next i
    End Sub
    خانه اکسل - http://********************


  4. #3


    آخرین بازدید
    2019/01/20
    تاریخ عضویت
    April 2015
    نوشته ها
    12
    امتیاز
    14
    سپاس
    15
    سپاس شده
    4 در 3 پست
    تعیین سطح نشده است

    ممنون
    من از یوزرفرم استفاده نکردم بلکه تو خود صفحه اکسل لیبل گذاشتم
    فایل اصلی رو اپلود میکنم خودتون مشاهده کنید هدفم ایجاد لیست حضور غیاب دانشگاه هست البته در نهایت خیلی فایل سنگین میشه بعلت استعمال زیاد از اشیا در فابل اکسل احتمالا بهتره ببا ویژوال بیسک کار کنم بجای اکسل یا شاید با همین یوزر فرم! نظر شما چیه؟ من اطلاعات زیادی ندارم البته! ولی اگه ممکنه با همین وضعیت درست بشه بفرمائید که همینو علی الحساب راه بندازم ! وگرنه باید تعداد زیادی خط الکی برای هر لیبل بنویسم!
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط Foa.neh : 2015/07/29 در ساعت 11:20

  5. #4
    mokaram آنلاین نیست.
    مدير تالار اکسل و بانک اطلاعاتی


    محصولات کاربر

    ويدئوي ايجاد سطح دسترسي
    آخرین بازدید
    2023/04/20
    تاریخ عضویت
    February 2011
    محل سکونت
    ســــاوه
    نوشته ها
    1,805
    امتیاز
    6409
    سپاس
    8,100
    سپاس شده
    5,163 در 1,502 پست
    سطح اکسل
    74.00 %

    mokaram به Yahoo ارسال پیام
    نقل قول نوشته اصلی توسط Foa.neh نمایش پست ها
    ممنون
    اصلا چنین رویدادی پیدا نکردم
    دوست عزیز کد نوشته شده توسط کاربر محترم Dolfin برای فرم هست در صورتیکه که شما لیبل هاتون را تو شیت ایجاد کردید بنابراین کد ارائه شده به کارتون نمیاد

    اگر تونستم کدش را بنویسم حتما در اختیارتون قرار میدم باتشکر


  6. سپاس ها (3)


  7. #5


    آخرین بازدید
    2019/01/20
    تاریخ عضویت
    April 2015
    نوشته ها
    12
    امتیاز
    14
    سپاس
    15
    سپاس شده
    4 در 3 پست
    تعیین سطح نشده است

    نقل قول نوشته اصلی توسط M_R_M نمایش پست ها
    دوست عزیز کد نوشته شده توسط کاربر محترم Dolfin برای فرم هست در صورتیکه که شما لیبل هاتون را تو شیت ایجاد کردید بنابراین کد ارائه شده به کارتون نمیاد

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

  8. #6


    آخرین بازدید
    2024/01/21
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,519
    امتیاز
    6121
    سپاس
    2,884
    سپاس شده
    4,889 در 1,381 پست
    سطح اکسل
    71.67 %

    سلام،

    اين کار خيلي غير حرفه اي است! چرا از ديتا وليديشن استفاده نمي کنيد، محدوديت خاصي داريد يا صرفا" برحسب سليقه شخصي مي خواهيد بدين نحو باشد؟

    ضمنا" فايلتان را که نگاه مي کردم اشتباهاتي را هم داخلش ديدم، شما فعلا" 66 رديف داريد ولي 294 تا spinner (يعني: برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  45.jpg
مشاهده: 46
حجم:  1.6 کیلو بایت) در آن تشکيل داده ايد! يعني چند تا چند تا روي همديگر ايجاد شده و شما هم احتمالا" متوجه نشده ايد!
    ویرایش توسط Ali Parsaei : 2015/07/30 در ساعت 18:15

  9. سپاس ها (3)


  10. #7


    آخرین بازدید
    2019/01/20
    تاریخ عضویت
    April 2015
    نوشته ها
    12
    امتیاز
    14
    سپاس
    15
    سپاس شده
    4 در 3 پست
    تعیین سطح نشده است

    سلام
    ممنون از پاسخ شما
    از دیتا ولیدیشن چطور استفاده کنم؟ مثلا عدد بدم و برا هر عدد رنگ سلول عوض شه؟ یا دارپ لیست با دو گزینه حاضر و غایب ایجاد کنم و رنگش عوض شه؟
    اگه اینطور مثال ها منظورتونه که نیاز به تایپ کردن دارن یا دو سه کلیلک برای هر نفر بکار نمیان چون این فایل حضور غیاب قراره با سرفیس بدون کیبورد و با تاچ استعمال بشه و با یک تاچ روی سلول اعمال بشه، حقیقتش ابتدا از چک باکس استفاده کرده بودم ولی چون نتونستم شی چک باکس رو بزرگ کنم و بعلت نیاز به دقت در تاچ روی چک باکس و ... تصمیم به عوض کردنش با لیبل کردم و به نظرم خیلی خوبه بنظرتون چه مشکلی داره اینکار؟ بجز بحث کدنویسیش!؟ اگه راه حل بهتری دارید پیشنهاد بدید ممنون میشم
    در مورد اسپینرها هم من نمیدونستم ممنون که اطلاع دادید
    در حال حال ارم بصورت آماتوری با خود اکسل تمام لیبل ها رو تک به تک کدنویسی میکنم البته با خود اکسل دارم کاری میکنم که نیاز نباشه کل کد رو دستی بنویسم ولی در آخر فکر کنم چندهزار خط کد میشه و کاملا اماتوری

  11. سپاس ها (2)


  12. #8


    آخرین بازدید
    2016/11/06
    تاریخ عضویت
    January 2014
    محل سکونت
    تهران
    نوشته ها
    149
    امتیاز
    1192
    سپاس
    175
    سپاس شده
    414 در 123 پست
    تعیین سطح نشده است

    سلام
    در فایل زیر کدی تعریف شده که با دبل کلیک روی سلول مورد نظر در محدوده حضور و غیاب یک userform نمایش داده می شود.
    در این یوزر فروم شما می توانید با کلیک بر روی لیبل حاضر و غیاب را مشخص و با کلیک بر روی ثبت ، مقدار لیبل را به سلولی که روی آن دبل کلیک شده بود انتقال دهید.
    * برای تغییر محدوده ای که می خواهید با دبل کلیلک یوزر فروم را نمایش بدهد کافی است به قسمت ویژوال شیت مورد نظر ( یعنی شیت 2) بروید و قسمت رنج کد زیر را تغییر دهید :
    کد:
    Intersect(Target, Range("e4:t69"))
    موفق باشید.
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط DOLFIN : 2015/08/01 در ساعت 12:48
    خانه اکسل - http://********************



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

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

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

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

  1. کاربرد بعضی از اصطلاحات ویژوال بیسیک در اکسل
    توسط ali719 در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 2
    آخرين نوشته: 2014/01/28, 10:49
  2. تقاضای برگزاری دوره ویژوال بیسیک
    توسط Amin_D در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 0
    آخرين نوشته: 2013/09/17, 06:10
  3. یادگیری ویژوال بیسیک
    توسط khakzad در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 7
    آخرين نوشته: 2010/08/10, 12:36

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

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

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

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

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

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