چگونه در vba به كنترل جاري اشاره كنم

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • alisabet

    • 2011/09/08
    • 159
    • 45.00

    #16
    RE: چگونه در vba به كنترل جاري اشاره كنم

    نوشته اصلی توسط m_d6712
    نوشته اصلی توسط alisabet
    با عرض تشكر از جناب داروي

    با در نظر گرفتن فرمايشات شما و با توجه به سوال من در پست 1 نميتوانم از تغيير كپشن ليبل استفاده كنم چون ليبل دستور اكتيو را نمي پذيرد
    خوب حالا ايا من ميتوانم بجاي ليبل از commandbutton استفاده كنم ؟
    اگه امكان داره شكل صحيح كد زير بنويسيد


    Private Sub CommandButton1_Click()
    Me.ActiveControl.Caption = Application.WorksheetFunction.Now()
    End Sub
    سلام من کد زیر را امتحان کردم پاسخ مورد نظر رو گرفتم.:

    Private Sub CommandButton1_Click()
    Me.ActiveControl.Caption = Now()
    End Sub

    Private Sub CommandButton2_Click()
    Me.ActiveControl.Caption = Now()
    End Sub

    Private Sub CommandButton3_Click()
    Me.ActiveControl.Caption = Now()
    End Sub

    اگر بد متوجه شدم منظور شمارو لطفا بفرمایید.
    اما اگر commandbutton داخل يك فريم باشد vba فريم را بعنوان كنترل فعال در نظر ميگيرد در صورتي كه كد مربوطه را با رويداد كليك commandbutton تعريف كردم و از اينرو هنگام كليك بر روي اين كنترل بايد همين كنترل بعنوان كنترل فعال در نظر گرفته شود مشكل چگونه حل ميشود ؟ در ضمن من حتماَ بايد فريم را داشته باشم

    کامنت

    • m_d6712

      • 2010/05/22
      • 174

      #17
      RE: چگونه در vba به كنترل جاري اشاره كنم

      نوشته اصلی توسط alisabet
      نوشته اصلی توسط m_d6712
      نوشته اصلی توسط alisabet
      با عرض تشكر از جناب داروي

      با در نظر گرفتن فرمايشات شما و با توجه به سوال من در پست 1 نميتوانم از تغيير كپشن ليبل استفاده كنم چون ليبل دستور اكتيو را نمي پذيرد
      خوب حالا ايا من ميتوانم بجاي ليبل از commandbutton استفاده كنم ؟
      اگه امكان داره شكل صحيح كد زير بنويسيد


      Private Sub CommandButton1_Click()
      Me.ActiveControl.Caption = Application.WorksheetFunction.Now()
      End Sub
      سلام من کد زیر را امتحان کردم پاسخ مورد نظر رو گرفتم.:

      Private Sub CommandButton1_Click()
      Me.ActiveControl.Caption = Now()
      End Sub

      Private Sub CommandButton2_Click()
      Me.ActiveControl.Caption = Now()
      End Sub

      Private Sub CommandButton3_Click()
      Me.ActiveControl.Caption = Now()
      End Sub

      اگر بد متوجه شدم منظور شمارو لطفا بفرمایید.
      اما اگر commandbutton داخل يك فريم باشد vba فريم را بعنوان كنترل فعال در نظر ميگيرد در صورتي كه كد مربوطه را با رويداد كليك commandbutton تعريف كردم و از اينرو هنگام كليك بر روي اين كنترل بايد همين كنترل بعنوان كنترل فعال در نظر گرفته شود مشكل چگونه حل ميشود ؟ در ضمن من حتماَ بايد فريم را داشته باشم
      خوب این خیلی واضح است که اتفاق می افته. دلیلش هم اینه که commandbutton دیگر کنترلی از userform نیست و بلکه کنترلی از frame هستش. درحالی که me به userform اشاره داره. برای رفع این مشکل 2 یکی از روش های زیر رو بکار ببرید:

      Private Sub CommandButton1_Click()
      Me.ActiveControl.ActiveControl.Caption = Now()
      End Sub

      یا

      Private Sub CommandButton1_Click()
      Frame1.ActiveControl.Caption = Now()
      End Sub

      موفق باشید
      -------
      [url=http://md6712.com]http://md6712.com[/url]
      جامعه ایده پردازان: http://idekadeh.com

      کامنت

      چند لحظه..