خطا در اجرای کد

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • میثم مقدم نیا

    • 2017/03/23
    • 557
    • 41.00

    پرسش خطا در اجرای کد

    سلام
    میخواهم برای تغیر رنگShapes ها در داخل اکسل از کد
    کد PHP:
    Sub ChangeShapeColor()

    Dim sh_name As StringAs Worksheetsp As Shape
    With Application
        
    .ScreenUpdating 0
        Set w 
    Worksheets("Sheet1")
        
    sh_name w.Shapes(Application.Caller).Name
        
    For Each sp In w.Shapes
        w
    .Shapes.Range(sp.Name).Select
            
    If sp.Name <> sh_name Then
                Selection
    .ShapeRange.Fill.ForeColor.RGB RGB(2551920)
            Else:
                
    Selection.ShapeRange.Fill.ForeColor.RGB RGB(02550)
            
    End If
            
        
    Next sp
        
    [b3].Select
        
    .ScreenUpdating = -1
        
    End With

    End Sub 
    استفاده کنم ولی پیغام خطای میده
    اساتید میتونید راهنمای کنید
    اکسل من 2019 هستش
    فایل های پیوست شده
    [HR][SIZE=5][COLOR="#0000FF"][FONT=Times New Roman][B] در سرزمینی کہ نتوان مردانہ زیست ، مردانہ مردن بهتر از این زندگیست [/B][/FONT][/COLOR][/SIZE][/HR]
  • karimi6155

    • 2011/03/18
    • 55
    • 65.00

    #2
    سلام
    با این تغییرات امتحان کنید ببینید جواب میده؟
    کد PHP:
    Sub ChangeShapeColor()

    Dim sh_name As StringAs Worksheetsp As Shape
    With Application
        
    .ScreenUpdating 0
        Set w 
    Worksheets("Sheet1")
        
    sh_name ActiveSheet.Shapes(Application.Caller).Name
        w
    .Activate
        
    For Each sp In w.Shapes
        w
    .Shapes.Range(sp.Name).Select
            
    If sp.Name <> sh_name Then
                Selection
    .ShapeRange.Fill.ForeColor.RGB RGB(2551920)
            Else:
                
    Selection.ShapeRange.Fill.ForeColor.RGB RGB(02550)
            
    End If
            
        
    Next sp
        
    [b3].Select
        
    .ScreenUpdating = -1
        
    End With

    End Sub 

    کامنت

    • میثم مقدم نیا

      • 2017/03/23
      • 557
      • 41.00

      #3
      نوشته اصلی توسط karimi6155
      سلام
      با این تغییرات امتحان کنید ببینید جواب میده؟
      کد PHP:
      Sub ChangeShapeColor()

      Dim sh_name As StringAs Worksheetsp As Shape
      With Application
      .ScreenUpdating 0
      Set w 
      Worksheets("Sheet1")
      sh_name ActiveSheet.Shapes(Application.Caller).Name
      w
      .Activate
      For Each sp In w.Shapes
      w
      .Shapes.Range(sp.Name).Select
      If sp.Name <> sh_name Then
      Selection
      .ShapeRange.Fill.ForeColor.RGB RGB(2551920)
      Else:
      Selection.ShapeRange.Fill.ForeColor.RGB RGB(02550)
      End If

      Next sp
      [b3].Select
      .ScreenUpdating = -1

      End With

      End Sub 
      سلام ممنون
      از راهنمایتون
      مشکل اصلی تو خط

      کد HTML:
          Set w = Worksheets("Sheet1")
      است که بجای شیت فعال شیت اول انتخاب شوده
      Last edited by میثم مقدم نیا; 4 ساعت پیش.
      [HR][SIZE=5][COLOR="#0000FF"][FONT=Times New Roman][B] در سرزمینی کہ نتوان مردانہ زیست ، مردانہ مردن بهتر از این زندگیست [/B][/FONT][/COLOR][/SIZE][/HR]

      کامنت

      • Alireza_Mind
        • 2024/12/01
        • 4

        #4
        سلام دوست عزیز، منظورتون دقیق متوجه نشدم ولی فکر کنم با این مشکلتون حل بشه.
        کد PHP:
        Sub ChangeShapeColor()

            
        Dim sh_name As Stringsp As Shape
            With Application
                
        .ScreenUpdating 0
                sh_name 
        ActiveSheet.Shapes(Application.Caller).Name
                
        For Each sp In ActiveSheet.Shapes
                    
        If sp.Name <> sh_name Then
                        sp
        .Fill.ForeColor.RGB RGB(2551920)
                    Else
                        
        sp.Fill.ForeColor.RGB RGB(02550)
                    
        End If
                
        Next sp
                
        .ScreenUpdating = -1
            End With

        End Sub 

        کامنت

        چند لحظه..