تغییر رنگ آیتم های کمبوباکس بر اساس رنگ سلول

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • a.dal65

    • 2011/04/29
    • 384
    • 67.00

    [حل شده] تغییر رنگ آیتم های کمبوباکس بر اساس رنگ سلول

    با سلام خدمت دوستان عزیز
    دوستان آیتم های توی کمبوباکسم رو از طریق سورس لود کردم.


    من میخوام بدونم آیا میشه رنگ نوشته های تو کمبوباکس بر اساس رنگ نوشته های سلول ها باشه.
    مثلا رنگ آیتم اولم توی سلول سبز رنگه ، توی کمبو باکس هم سبز بیاد
    فایل های پیوست شده
  • a.dal65

    • 2011/04/29
    • 384
    • 67.00

    #2
    با سلام
    دوستان من تا حدودی تونستم این کارو برای textbox ها انجام بدم.
    الان یه مشکل کوچیک دارم:
    اطلاعات از شیت، توی textbox های userform لود میشه.
    من میخوام رنگ فونت هر سلول هر رنگی بود، رنگ بکگراند textbox هم همون بشه.
    مثل عکسم.
    فایل های پیوست شده

    کامنت

    • majid_mx4

      • 2012/06/25
      • 699

      #3
      با سلام

      دستورات زیر را جایگزین دستوراتCombobox قبلی کنید

      کد:
      Private Sub TextBox1_Change()
      Dim cell As Range
      For Each cell In Sheet1.Range("b2", Sheet1.Range("b1500").End(xlUp).Address)
      If cell.Value = TextBox1.Value Then
      
       Dim cColor, cRed, cGreen, cBlue
          
          cColor = Range(cell.Address).Font.Color
              
         'Convert Color Code to RGB
          cRed = (cColor Mod 256)
          cGreen = (cColor \ 256) Mod 256
          cBlue = (cColor \ 65536) Mod 256
        
      TextBox1.ForeColor = RGB(cRed, cGreen, cBlue)
      
      
      cColor = Range(cell.Address).Offset(0, 1).Font.Color
      cRed = (cColor Mod 256)
          cGreen = (cColor \ 256) Mod 256
          cBlue = (cColor \ 65536) Mod 256
        
      TextBox8.ForeColor = RGB(cRed, cGreen, cBlue)
      
      cColor = Range(cell.Address).Offset(0, 2).Font.Color
      cRed = (cColor Mod 256)
          cGreen = (cColor \ 256) Mod 256
          cBlue = (cColor \ 65536) Mod 256
        
      TextBox9.ForeColor = RGB(cRed, cGreen, cBlue)
      cColor = Range(cell.Address).Offset(0, 3).Font.Color
      cRed = (cColor Mod 256)
          cGreen = (cColor \ 256) Mod 256
          cBlue = (cColor \ 65536) Mod 256
        
      TextBox10.ForeColor = RGB(cRed, cGreen, cBlue)
      
      TextBox8 = cell.Offset(0, 1)
      TextBox9 = cell.Offset(0, 2)
      TextBox10 = cell.Offset(0, 3)
      End If
      Next cell
      On Error Resume Next
      
      
      
      
      End Sub
      پایدار باشید میر

      کامنت

      • a.dal65

        • 2011/04/29
        • 384
        • 67.00

        #4
        ممنون جناب میر بابت زحمتی که کشیدید
        خیلی کار راه اندازی کردید.
        سپاس فراوان
        فقط من اون دکمه "ثبت" رو از طریق یک شیت دیگه که اجرا میکنم
        رنگ ها رو نمیاره.
        فایل رو ضمیمه کردم
        فایل های پیوست شده

        کامنت

        • majid_mx4

          • 2012/06/25
          • 699

          #5
          با سلام

          خواهش میکنم
          فقط کافیست که شیت مقصد را آدرس دهی کنید که دستورات بشکل زیر خواهد شد.

          کد:
          Private Sub TextBox1_Change()
          Dim cell As Range
          For Each cell In Sheet1.Range("b2", Sheet1.Range("b1500").End(xlUp).Address)
          If cell.Value = TextBox1.Value Then
          
           Dim cColor, cRed, cGreen, cBlue
              
              cColor = Range(cell.Address).Font.Color
                  
             'Convert Color Code to RGB
              cRed = (cColor Mod 256)
              cGreen = (cColor \ 256) Mod 256
              cBlue = (cColor \ 65536) Mod 256
            
          TextBox1.foreColor = RGB(cRed, cGreen, cBlue)
          
          
          cColor = Sheet1.Range(cell.Address).Offset(0, 1).Font.Color
          cRed = (cColor Mod 256)
              cGreen = (cColor \ 256) Mod 256
              cBlue = (cColor \ 65536) Mod 256
            
          TextBox8.foreColor = RGB(cRed, cGreen, cBlue)
          
          cColor = Sheet1.Range(cell.Address).Offset(0, 2).Font.Color
          cRed = (cColor Mod 256)
              cGreen = (cColor \ 256) Mod 256
              cBlue = (cColor \ 65536) Mod 256
            
          TextBox9.foreColor = RGB(cRed, cGreen, cBlue)
          cColor = Sheet1.Range(cell.Address).Offset(0, 3).Font.Color
          cRed = (cColor Mod 256)
              cGreen = (cColor \ 256) Mod 256
              cBlue = (cColor \ 65536) Mod 256
            
          TextBox10.foreColor = RGB(cRed, cGreen, cBlue)
          
          TextBox8 = cell.Offset(0, 1)
          TextBox9 = cell.Offset(0, 2)
          TextBox10 = cell.Offset(0, 3)
          End If
          Next cell
          On Error Resume Next
          
          
          
          
          End Sub
          پایدار باشید میر

          کامنت

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

            • 2017/03/23
            • 558
            • 41.00

            #6
            نوشته اصلی توسط majid_mx4
            با سلام

            خواهش میکنم
            فقط کافیست که شیت مقصد را آدرس دهی کنید که دستورات بشکل زیر خواهد شد.

            کد:
            Private Sub TextBox1_Change()
            Dim cell As Range
            For Each cell In Sheet1.Range("b2", Sheet1.Range("b1500").End(xlUp).Address)
            If cell.Value = TextBox1.Value Then
            
             Dim cColor, cRed, cGreen, cBlue
                
                cColor = Range(cell.Address).Font.Color
                    
               'Convert Color Code to RGB
                cRed = (cColor Mod 256)
                cGreen = (cColor \ 256) Mod 256
                cBlue = (cColor \ 65536) Mod 256
              
            TextBox1.foreColor = RGB(cRed, cGreen, cBlue)
            
            
            cColor = Sheet1.Range(cell.Address).Offset(0, 1).Font.Color
            cRed = (cColor Mod 256)
                cGreen = (cColor \ 256) Mod 256
                cBlue = (cColor \ 65536) Mod 256
              
            TextBox8.foreColor = RGB(cRed, cGreen, cBlue)
            
            cColor = Sheet1.Range(cell.Address).Offset(0, 2).Font.Color
            cRed = (cColor Mod 256)
                cGreen = (cColor \ 256) Mod 256
                cBlue = (cColor \ 65536) Mod 256
              
            TextBox9.foreColor = RGB(cRed, cGreen, cBlue)
            cColor = Sheet1.Range(cell.Address).Offset(0, 3).Font.Color
            cRed = (cColor Mod 256)
                cGreen = (cColor \ 256) Mod 256
                cBlue = (cColor \ 65536) Mod 256
              
            TextBox10.foreColor = RGB(cRed, cGreen, cBlue)
            
            TextBox8 = cell.Offset(0, 1)
            TextBox9 = cell.Offset(0, 2)
            TextBox10 = cell.Offset(0, 3)
            End If
            Next cell
            On Error Resume Next
            
            
            
            
            End Sub
            پایدار باشید میر
            با سلام و سپاس از استاد میر عزیز
            خط زیر
            کد PHP:
                cColor Range(cell.Address).Font.Color 
            در کد بالا را به
            کد PHP:
            cColor Sheet1.Range(cell.Address).Font.Color 
            تغییر دهید
            تا نام ها هم رنگش تغییر کنه
            [HR][SIZE=5][COLOR="#0000FF"][FONT=Times New Roman][B] در سرزمینی کہ نتوان مردانہ زیست ، مردانہ مردن بهتر از این زندگیست [/B][/FONT][/COLOR][/SIZE][/HR]

            کامنت

            چند لحظه..