我在单元格N6中有一个数据验证列表。 列表是:房屋,常客,建筑商,私人。
单元格M8具有以下公式:= IF(N6 =“ Housing”,“ Grade:”,“”)
单元格N8中有一个数据验证列表。 列表是:第一,第二,第三。
如果单元格N6被更改或清除,我希望能够清除单元格N8。 我已经尝试过此VBA代码,但无法按预期清除单元格N8:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("N6")) Is Nothing Then
If Range("N6") <> "" Then Range("N8").ClearContents
End If
End Sub
我也尝试过此VBA代码,但它也无法清除单元格N8。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("$N6")) Is Nothing Then
Range("N8").ClearContents
End If
End Sub
请帮助我解决这个问题。
答案 0 :(得分:0)
在工作表的专用代码表中尝试一下(右键单击工作表名称选项卡,然后选择“查看代码”),
SELECT
(CASE
WHEN p.product_status = '0' THEN 'Inactive'
WHEN p.product_status = '1' THEN 'Active'
ELSE 'Deleted'
END) AS status,
m.manufacturers_name,
GROUP_CONCAT(mc.master_category_name) AS master_category_name,
TRIM(p.product_name) AS product_name,
p.product_status,
p.product_id
FROM
products p
LEFT JOIN
manufacturers m ON p.manufacturers_id = m.manufacturers_id
LEFT JOIN
master_categories mc ON FIND_IN_SET(mc.master_category_id,
p.master_category_id) > 0
WHERE
p.product_name != ''
GROUP BY p.product_id
ORDER BY TRIM(p.product_name) ASC
LIMIT 0 , 15
先前的错误尝试可能会使事件禁用。将Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("N6")) Is Nothing Then
application.enableevents = false
Range("N8") = vbnullstring
application.enableevents = true
End If
End Sub
放入VBE的即时窗口中,然后按Enter。