اجرای مایکرو برای رنگ کردن چندین سطر با دستور چک باکس

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

    • 2014/08/26
    • 6

    اجرای مایکرو برای رنگ کردن چندین سطر با دستور چک باکس

    سلام مهندسین عزیز
    آقا من دارم یه فرم درست میکنم که با زدن تیک چک باکس رنگ اون سطر عوض بشه

    تعداد 50 سطر هست که همش باید اینجور بشه .

    تو مایکرو وقتی میزنم برای یکی رو درست میکنم اما شرطی که بتونم بندازم براش همه ستون ها رو انجام بده چجور بنویسم .
    این دستور برای مایکرو هست که دارم ( برا یه سطر )

    کد PHP:
    Sub Macro5()
    '
    Macro5 Macro
    ' vkjk
    '
    ' Keyboard Shortcut: Ctrl+m
    '
        
    Selection.FormatConditions(1).StopIfTrue False
        Range
    ("A9:G9,AM9").Select
        Selection
    .FormatConditions.Add Type:=xlExpressionFormula1:="=$AP$9"
        
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        With Selection
    .FormatConditions(1).Interior
            
    .PatternColorIndex xlAutomatic
            
    .ThemeColor xlThemeColorAccent2
            
    .TintAndShade 0
        End With
        Selection
    .FormatConditions(1).StopIfTrue False
        Selection
    .FormatConditions.Add Type:=xlExpressionFormula1:="=$AQ$9"
        
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
        With Selection
    .FormatConditions(1).Interior
            
    .PatternColorIndex xlAutomatic
            
    .Color 5296274
            
    .TintAndShade 0
        End With
        Selection
    .FormatConditions(1).StopIfTrue False
    End Sub 
    این دستور رو میخوام برای 50 تا سطر دیگه تو یه حلقه انجام بده

    مقدار Range("A9:G9,AM9").Select و Formula1:="=$AP$9 و Formula1:="=$AQ$9 باید بیوفته تو متغیر و یه شماره به شماره 9 اضافه بشه مثلا بشه 10 و به بعد تا 50
    ممنون دستور شرطیشو بگید بهم من یادم رفته
  • pesi

    • 2014/08/26
    • 6

    #2
    آقا کسی نمیدونه جوابشو ؟

    کامنت

    • pesi

      • 2014/08/26
      • 6

      #3
      دوستان به روش حلقه for میشه اینو نوشت . کسی کاملشو میتونه بهم بده و بنویسه ؟
      میخوام تو یه ستون به ردیف یه چک باکس درست بشه بره تو پرو پرتی linkcell رو یه خونه تو ستون دیگه روبروش بده .
      همین فعلا

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        نمونه فایل رو بصورت زیپ شده ضمیمه سایت کنید

        کامنت

        • pesi

          • 2014/08/26
          • 6

          #5
          نوشته اصلی توسط iranweld
          نمونه فایل رو بصورت زیپ شده ضمیمه سایت کنید
          Sub Macro2()
          '
          ' Macro2 Macro
          '

          '
          ActiveSheet.Shapes.Range(Array("Check Box 186")).Select
          With Selection
          .Value = xlOn
          .LinkedCell = "$AP$3"
          .Display3DShading = True
          End With
          End Sub

          این کد رو میخوام تو حلقه تکرار بذارم برا هر ستون درست کنه
          مقدار آرایه check box 186 بشه شماره بعدی - ( chech box 187 , .... )
          و لینک سلول هم یکی بیاد پایین تر مثلا بشه ap4
          اینم فایل مایکروش
          فایل های پیوست شده

          کامنت

          • iranweld

            • 2015/03/29
            • 3341

            #6
            با سلام

            ماکرو ذیل را تست کنید

            کد PHP:
            Sub Macro2()

            For 
            186 To 235

            ActiveSheet
            .Shapes.Range(Array("Check Box " i)).Select
            With Selection
            .Value xlOn

            .LinkedCell "$AP$" i

            .Display3DShading True
            End With

            Next

            End Sub 

            کامنت

            • pesi

              • 2014/08/26
              • 6

              #7
              ممنون همین بود

              حالا این رنج رو چطوری متغیر بدم که یه خط بیاد چایین سطرهاش ؟

              Range
              ("A9:G9,AM9").Select

              مثلا میخوام از رنج
              A9:G9,AM9 انتخاب بزنه تا رنج A20:G20,AM20 ؟؟؟

              این من هرکاری کردم تو متغیر I نتونستم تعریف کنم برا سلول ها .
              ممنون میشم اینم بگید
              Last edited by pesi; 2017/06/24, 18:31.

              کامنت

              • pesi

                • 2014/08/26
                • 6

                #8
                دوستان کسی اینو نمیدونه ؟ مطلب بالا جوابش مونده

                کامنت

                چند لحظه..