با سلام چطور در ستون 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(Target, ws.Range("B:B")) Is Nothing Then
Application.EnableEvents = False
lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
For Each cell In Intersect(Target, ws.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:=xlValidateList, Formula1:=validationFormula
ws.Range("c" & cell.Row).Value = ""
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
Next cell
End If
End Sub
ممنون
علاقه مندی ها (Bookmarks)