راهنمایی در خصوص دستور for

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

    • 2012/06/12
    • 111

    پرسش راهنمایی در خصوص دستور for

    با سلام
    در یک ستون مثلا I ساعت های مختلفی ثبت شده اند
    می خواهم یک محدوده معین از ساعت ها تبدیل به یک ساعت مشخص شوند که فرمول زیر را ناقص نوشته ام لطفا تکمیل نمائید

    Dim Q1, Q2, Q3
    Q1 = InputBox(" اولين ساعت محدوده اصلاحيه را وارد نمائيد", " انتخاب ساعت جهت اصلاح", "6:00")
    Q2 = InputBox(" آخرين ساعت محدوده اصلاحيه را وارد نمائيد", " انتخاب ساعت جهت اصلاح", "6:59")
    Q3 = InputBox(" تمامي ساعت ها تبديل شود به ", " انتخاب ساعت جهت اصلاح", "7:00")

    Dim c
    For Each c In Sheet1.Range("I:I")
    If c >= Q1 And c <= Q2 Then
    ؟؟؟؟؟؟؟؟Sheet1.Range(؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟) = Q3
    End If
    Next
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام

    فرمول را بدین صورت مد نظر دارید؟

    کد PHP:
    For Each c In Sheet1.Range("I:I")

    If 
    >= Q1 And <= Q2 Then

    Sheet1
    .Range("i" c.Row).Value Q3

    End 
    If

    Next 

    کامنت

    • khorasan66

      • 2012/06/12
      • 111

      #3
      ضمن تشکر فرمول for تکمیل شد و با تغییراتی که دادم جواب داد فقط یک راهنمایی بفرمائید در مورد ماژول زیر :
      چرا نمی توانم از مقادیر Q1 Q2 Q3 به صورت مستقیم استفاده کنم و باید مقادیر آنها را ابتدا در محلی ذخیره نموده تا در ادامه بتوانم از آنها استفاده نمایم


      Sub vorood_01()
      On Error Resume Next
      Dim A!
      A = InputBox("جهت اصلاح ساعت ورود مي بايست کلمه عبور را وارد نمائيد", "کنترل مديريت")
      B = Sheet1.Range("T28").Value
      If A <> B Then
      Exit Sub
      Else
      Call UNPRO
      Dim Q1, Q2, Q3, C
      Q1 = InputBox(" اولين ساعت محدوده اصلاحيه را وارد نمائيد", " انتخاب ساعت جهت اصلاح", "6:00")
      Sheet4.Range("Y2") = Q1
      Q2 = InputBox(" آخرين ساعت محدوده اصلاحيه را وارد نمائيد", " انتخاب ساعت جهت اصلاح", "7:00")
      Sheet4.Range("Y3") = Q2
      Q3 = InputBox(" تمامي ساعت ها تبديل شود به ", " انتخاب ساعت جهت اصلاح", "7:00")
      Sheet4.Range("Y4") = Q3
      For Each C In Sheet4.Range("I1:I1000")
      If C >= Sheet4.Range("Y2") And C < Sheet4.Range("Y3").Value Then
      Sheet4.Range("i" & C.Row).Value = Sheet4.Range("Y4")
      End If
      Next
      End If
      Call PRO
      MsgBox ("تمامي ورود هاي نوبت اول اصلاح گرديد")
      End Sub

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        در صورت امکان نمونه فایل را ضمیمه کنید

        یا سه متغییر Q را بدین صورت تعریف کنید

        کد PHP:
        Dim Q1Q2Q3 As Date 
        Last edited by iranweld; 2015/12/08, 09:36.

        کامنت

        • khorasan66

          • 2012/06/12
          • 111

          #5
          نمونه فایل را پیوست میباشد
          ماکروی اول با ذخیره مقادیر مشکلی ندارد
          ماکروی دوم به صورت مسقیم مقادیر را میگیرد ولی شرط انجام نمی شود
          فایل های پیوست شده

          کامنت

          چند لحظه..