لیست کشویی با تغییر شیت

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

    • 2013/10/28
    • 20

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

    با سلام چطور در ستون c لیست کشویی از طریق دیتا ولیدیشن ایجاد کرد که در هنگام workbook change با توجه به پر بودن ستون دوم یعنی ستون b ستون متناظر در c لیست کشویی فعال بشه
    توضیح بهتر: به ازای پر بودن هر ردیف از ستون b ردیف همان ردیف در ستون c لیست کشویی دیتا ولیدیشن فعال بشه
    فایل ضمیمه مثلا ردیف دوم ستون b پر شد ستون c همان ردیف همان لیست که بالا بود ایجاد بشه و اگر ستون b ردیف خالی بود لیست کشویی از ردیف حذف شود
    این کد رو امتحان کردم نمیدونم چرا کار نمیکنه
    کد PHP:
    Private Sub Worksheet_Change(ByVal Target As Range)
        
    Dim ws As Worksheet
        Dim lastRow 
    As Long
        Dim validationRange 
    As Range
        Dim validationFormula 
    As String
        Dim cell 
    As Range

         Set ws 
    ThisWorkbook.Worksheets("sheet1")
    If 
    Not Intersect(Targetws.Range("B:B")) Is Nothing Then
            Application
    .EnableEvents False

            lastRow 
    ws.Cells(ws.Rows.Count"B").End(xlUp).Row
           
    For Each cell In Intersect(Targetws.Range("B:B"))
                
    validationFormula "=IF(B" cell.Row "<>"""", {list1,list2}, """")"
                
    ws.Range("c" cell.Row).Validation.Delete
                ws
    .Range("c" cell.Row).Validation.Add Type:=xlValidateListFormula1:=validationFormula
                ws
    .Range("c" cell.Row).Value ""
               
                
    With Application
                    
    .ScreenUpdating True
                    
    .EnableEvents True
                    
    .Calculation xlCalculationAutomatic
                End With
            Next cell
        End 
    If
    End Sub 
    ممنون
    فایل های پیوست شده
  • مرتضی حسینی

    • 2015/06/07
    • 216
    • 33.00

    #2
    با سلام یه اکسل دارم تو ستون b یا c که باشی اتومات ولیدسشن همون سیون فعال میشه با تغییر فرمول ها کارهای مختلفی میشه کرد
    حسینی 1402/6/31
    فایل های پیوست شده

    کامنت

    • look20

      • 2013/10/28
      • 20

      #3
      ممنون دوست عزیز ولی منظورمن این نبود بهتر بگم شیت 2 ستون a که نام رنگهاست قرار به عنوان دیتا ولیدیشن در ستون b شیت 1 بشینه به ازای هر ردیف که از ستون a از شیت 1 که پر بشه

      کامنت

      • look20

        • 2013/10/28
        • 20

        #4
        راهشو پیدا کردم این سایتش و این هم فایل نمونه
        Learn how to create dynamic data validation lists. These in-cell drop-down lists automatically expand to include new rows that are added to the end of the source data range.

        اولش باید فایل اکسلتون بصورت جدول تعریف بعدش اصلا کد نویسی نمی خواد خیلی راحت انجام میشه
        فایل های پیوست شده

        کامنت

        چند لحظه..