نمایش نتایج: از شماره 1 تا 4 , از مجموع 4

موضوع: تغییر رنگ Shape بر اساس Cell value

  1. #1


    آخرین بازدید
    2024/02/08
    تاریخ عضویت
    April 2011
    نوشته ها
    384
    امتیاز
    245
    سپاس
    415
    سپاس شده
    225 در 123 پست
    سطح اکسل
    67.00 %

    تغییر رنگ Shape بر اساس Cell value

    با سلام خدمت اساتید
    بنده نقشه یه طبقه رو دارم که توش مغازه هام مشخص شده .
    و یه جدول دارم که اطلاعات اون مغازه ها رو توش زدم.(مثل متراژ ، شماره مغازه و ...)
    من روی هر مغازه یه Shape دایره شکل ایجاد کردم که با توجه به وضعیت مغازه میخوام رنگ اون دایره عوض بشه.
    یعنی مثلا اگه تو جدول مغازه شماره 1 فروخته شد رنگ دایره بشه قرمز . اگه رزور بود بشه آبی و ....
    (یعنی با توجه به Cell Value ، رنگ دایره تغییر کنه)
    برای این کار از این کد استفاده کردم که چند تا اشکال داره
    کد PHP:
        Select Case Range("e2").Value
            
    Case "رزرو شده"ActiveSheet.Shapes("Oval1").Fill.ForeColor.RGB vbBlue
            
    Case "فروخته شده"ActiveSheet.Shapes("Oval1").Fill.ForeColor.RGB vbRed
            
    Case "آماده فروش"ActiveSheet.Shapes("Oval1").Fill.ForeColor.RGB vbGreen
            
    Case "اجاره داده شده"ActiveSheet.Shapes("Oval1").Fill.ForeColor.RGB vbYellow
        End Select 
    اول اینکه وقتی از فیلتر استفاده میکنم رنگ ها همه جابجا میشه
    دوم اینکه من حدود 150 تا مغازه دارم اگه بخوام برای هر سلول همین کد رو تکرار کنم خیلی زمانبر و چر خطا میشه.
    امکانش هست از یه حلقه استفاده کنم تا کد ها کمتر بشه ؟

    و یه سوال دیگه دارم
    من برای فیلتر کردن جدولم از چند تا چک باکس استفاده کردم . تا کاربر مثلا تیک رزور شده ها و اماده فروش ها رو انتخاب کنه و این دو توی جدول فیلتر بشن و روی نقشه هم همون مغازه ها رنگی بشن . الان فقط یکی رو فیلتر میکنه
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: zip MAP.zip اطلاعات (217.2 کیلو بایت, 30 نمایش)
    پاسخ مورد نظر براي اين تاپيك ارسال شده است.

  2.  

  3. #2


    آخرین بازدید
    2023/04/24
    تاریخ عضویت
    April 2014
    محل سکونت
    كرج
    نوشته ها
    892
    امتیاز
    4526
    سپاس
    2,297
    سپاس شده
    2,910 در 801 پست
    سطح اکسل
    64.00 %

    سلام برای فیلتر باید همه حالتهارو تعریف کنید مثلا برای قسمت اجاره داده شده اینطوری بنویسید ، بقیه قسمتها به عهده خودتون
    کد PHP:
    Private Sub ejare_Click()
    If (
    ejare True And nashode True And shode True And rezerv TrueThen
    ActiveSheet
    .ListObjects("Table13").Range.AutoFilter Field:=5Criteria1:=Array("ÇÌÇÑå ÏÇÏå ÔÏå""ÂãÇÏå ÝÑæÔ""ÑÒÑæ ÔÏå""ÝÑæÎÊå ÔÏå"), Operator:=xlFilterValues
    ElseIf (ejare True And nashode True And shode TrueThen
    ActiveSheet
    .ListObjects("Table13").Range.AutoFilter Field:=5Criteria1:=Array("ÇÌÇÑå ÏÇÏå ÔÏå""ÂãÇÏå ÝÑæÔ""ÝÑæÎÊå ÔÏå"), Operator:=xlFilterValues
    ElseIf (ejare True And shode True And rezerv TrueThen
    ActiveSheet
    .ListObjects("Table13").Range.AutoFilter Field:=5Criteria1:=Array("ÇÌÇÑå ÏÇÏå ÔÏå""ÑÒÑæ ÔÏå""ÝÑæÎÊå ÔÏå"), Operator:=xlFilterValues
    ElseIf (ejare True And nashode TrueThen
    ActiveSheet
    .ListObjects("Table13").Range.AutoFilter Field:=5Criteria1:=Array("ÇÌÇÑå ÏÇÏå ÔÏå""ÂãÇÏå ÝÑæÔ"), Operator:=xlFilterValues
    ElseIf (ejare True And shode TrueThen
    ActiveSheet
    .ListObjects("Table13").Range.AutoFilter Field:=5Criteria1:=Array("ÇÌÇÑå ÏÇÏå ÔÏå""ÝÑæÎÊå ÔÏå"), Operator:=xlFilterValues
    ElseIf (ejare True And rezerv TrueThen
    ActiveSheet
    .ListObjects("Table13").Range.AutoFilter Field:=5Criteria1:=Array("ÇÌÇÑå ÏÇÏå ÔÏå""ÑÒÑæ ÔÏå"), Operator:=xlFilterValues
    ElseIf ejare True Then
    Range
    ("e1").AutoFilter Field:=5Criteria1:="ÇÌÇÑå ÏÇÏå ÔÏå"
    Else
    Range("e1").AutoFilter Field:=5
    End 
    If
    End Sub 
    فقط دقت کنید تو فایل پیوست چون بقیه حالتهای سه تا دکمه دیگه تعریف نشده باید حتکا آخرین دکمه ای که کالید میکنید ، اجاره داده شده باشه ، اگه همه دکمه ها رو تعریف کنید این مشکلم از بین میره .
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: xlsm MAP.xlsm اطلاعات (185.9 کیلو بایت, 18 نمایش)

  4. سپاس ها (3)


  5. #3


    آخرین بازدید
    2024/02/08
    تاریخ عضویت
    April 2011
    نوشته ها
    384
    امتیاز
    245
    سپاس
    415
    سپاس شده
    225 در 123 پست
    سطح اکسل
    67.00 %

    ممنون دوست عزیز همونجوری که گفتید درست کردم.
    برای قسمتی از مشکل اولم یه سرچ زدم و به این رسیدم :
    کد PHP:

          Dim i 
    As Long
          
    For 1 To ActiveSheet.Shapes.Count
          ActiveSheet
    .Shapes.Range(Array("Oval " i)).Visible Not ActiveSheet.Shapes.Range(Array("Oval " i)).Visible
          Next i
      
    [RIGHT][/RIGHT
    با کد بالا تمام
    Shape های که با اسم oval شروع میشه رو مخفی و شو میکنه
    حالا هر کاری کردم که چک کنه مثلا shape های که fill color شون قرمز باشه رو hide کنه نتونستم
    (یعنی میخوام تمام oval های که رنگشون قرمز هستن رو مخفی کنم)
    ActiveSheet.Shapes.Range(Array("Oval " & i)).Visible.Fill.ForeColor.RGB(vbRed) = True
    ممنون میشم کسی کمک کنه
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: zip MAP.zip اطلاعات (187.6 کیلو بایت, 15 نمایش)

  6. #4


    آخرین بازدید
    2024/02/08
    تاریخ عضویت
    April 2011
    نوشته ها
    384
    امتیاز
    245
    سپاس
    415
    سپاس شده
    225 در 123 پست
    سطح اکسل
    67.00 %

    کد PHP:
    Public Sub HideRedOvals()

    ShowHideShapes "Oval "RGB(25500), msoFalse

    End Sub
    Private Sub ShowHideShapes(shapeName As StringforeColor As LongshowHide As MsoTriState)

    Dim thisShape As Shape

    For Each thisShape In ActiveSheet.Shapes
        
    If StrComp(Left$(thisShape.NameLen(shapeName)), shapeNamevbTextCompare) = 0 _
        
    And thisShape.Fill.foreColor foreColor Then
            thisShape
    .Visible showHide
        End 
    If
    Next

    End Sub 



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. [حل شده] پنهان و آشکار کردن shape با استفاده از شرط در ماکرو
    توسط ZAMEN58 در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 1
    آخرين نوشته: 2016/08/14, 23:54
  2. نمایش نمودار به همراه Shape روی فرم
    توسط m.zaeim در انجمن فرم ها در ويژوال بيسيك - Forms in VBA
    پاسخ ها: 9
    آخرين نوشته: 2016/07/01, 14:43
  3. دادن فرمول در شیب (shape)
    توسط maziardm در انجمن گرافیک، نمودار و تنظیمات - Graphics, Charts and Settings
    پاسخ ها: 1
    آخرين نوشته: 2014/01/12, 23:34
  4. اختصاص يه مقدار به text shape
    توسط afshin160 در انجمن گرافیک، نمودار و تنظیمات - Graphics, Charts and Settings
    پاسخ ها: 0
    آخرين نوشته: 2011/07/23, 16:05
  5. تغییر رنگ یک cell
    توسط hamid_mc در انجمن گرافیک، نمودار و تنظیمات - Graphics, Charts and Settings
    پاسخ ها: 1
    آخرين نوشته: 2011/05/15, 14:35

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

https:forum.exceliran.comshowthread.php11967-تغییر-رنگ-Shape-بر-اساس-Cell-value

ellipse در اکسل یعنی چه

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است