اجراي تابع max در vba

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

    • 2011/09/08
    • 159
    • 45.00

    اجراي تابع max در vba

    سلام
    من دو تا سوال دارم از اساتيد محترم در صورت امكان پاسخ بدن

    1- چرا كد زير عمل نميكند و شكل صحيحي آن بايد چگونه باشد

    Private Sub TextBox1_inter()
    TextBox3.SetFocus
    End Sub

    2- همچنين چرا كدزير در vba عمل نميكند و شكل صحيح آن چگونه است
    Private Sub CommandButton1_Click()
    textbox1.value = "=max(sheets("1").range(cells(1,1),cells(10,1) ))"
    End Sub
  • MEYTI

    • 2010/11/11
    • 362

    #2
    RE: اجراي تابع max در vba

    سلام دوست عزیز برای ماکسیمم میتونی از کد زیر استفاده کنی
    کد PHP:
    Dim maxnumber As IntegerrngMax As Range
         
        Set rngMax 
    Worksheets("Sheet1").Range("A1:A20")
        
    maxnumber Application.WorksheetFunction.Max(rngMax)
        
    MsgBox maxnumber 
    و برای فکوس کردن هم کد TextBox3.SetFocus را باید در رویداد Exit تکست باکس یک بنویسی یا با شماره های ایندکس به خواسته ی خود برسی
    [B][COLOR=#000080]مهدی کریمی[/COLOR][/B]

    کامنت

    • alisabet

      • 2011/09/08
      • 159
      • 45.00

      #3
      RE: اجراي تابع max در vba

      نوشته اصلی توسط MEYTI
      سلام دوست عزیز برای ماکسیمم میتونی از کد زیر استفاده کنی
      کد PHP:
      Dim maxnumber As IntegerrngMax As Range
           
          Set rngMax 
      Worksheets("Sheet1").Range("A1:A20")
          
      maxnumber Application.WorksheetFunction.Max(rngMax)
          
      MsgBox maxnumber 
      و برای فکوس کردن هم کد TextBox3.SetFocus را باید در رویداد Exit تکست باکس یک بنویسی یا با شماره های ایندکس به خواسته ی خود برسی
      با تشكر
      1- ولي رنج مورد نياز من ثابت نيست و ميخواهم حدود آنرا با حلقه تكرار عوض كنم از اين رو احتياج به كدي دارم كه بتواند مقادير متتغير (i) را بگيرد مثلاَ در همون مثالي كه در پست قبل نوشتم

      for i = 1 to 10
      textbox1.value = "=max(sheets("1").range(cells(1,1),cells(10,i) ))"
      next i

      2- در مورد فوكوس هم اگه منظورتون اينجوريه
      Private Sub textbox1_Exit(Cancel As Integer)
      TextBox3.SetFocus
      End Sub

      اين پيام خطا را ميده
      compile error
      procedure declaration dos not match description of event or procedure having the same name
      فكر ميكنم ميگه اين event صحيح نيست يا با همين اسم موجود هست ؟!

      کامنت

      • ~M*E*H*D*I~
        • 2011/10/19
        • 4377
        • 70.00

        #4
        RE: اجراي تابع max در vba

        سلام
        کدی که آقا مهدی زحمت کشیدن درسته فقط محدوده ای که تعریف کردن در work sheet تعریف کنید و با offset گسترش بدید
        [CENTER]
        [SIGPIC][/SIGPIC]
        [/CENTER]

        کامنت

        • EBRAHIMSASANI

          • 2011/06/11
          • 33

          #5
          RE: اجراي تابع max در vba

          دوست گرامی در مورد سوال اول اگه که می خواهید بعد از اینتر کردن در تکست باکس یک وارد تکست باکس 3 شوید کافیست tab index تکست باکس 3 را یکی بیشتر از تکست باکس یک قرار دهید و دیگر نیازی به کد نویسی نیست و در مورد سوال دوم فکر کنم که کد زیر مشکل شما را حل کند

          Private Sub CommandButton1_Click()
          For Each c In Sheet1.Range("a1:a65536")
          If c <> "" Then
          q = q + 1
          End If
          Next c
          TextBox1.Text = Application.WorksheetFunction.Max(Sheet1.Range("a1 ", "a" & q))
          TextBox1.SetFocus
          End Sub

          کامنت

          چند لحظه..