Excel当一个单元格有内容时,另一个单元格就会出现指定内容,要用VBA代码的,不能是if函数的?
发布网友
发布时间:2022-04-28 11:27
我来回答
共3个回答
热心网友
时间:2023-10-05 10:33
复制到 数据 表的 vba窗口,即可
Private Sub Worksheet_Change(ByVal Target As Range) 'Selection
Dim tr, tc
tr = Target.Row
tc = Target.Column
If tr = 2 And tc >= 1 And tc <= 6 Then
x = Range("c65536").End(xlUp).Row
Range(Cells(3, "A"), Cells(x, "a")) = [a2]
Range(Cells(3, "b"), Cells(x, "b")) = [b2]
Range(Cells(3, "d"), Cells(x, "d")) = [d2]
Range(Cells(3, "e"), Cells(x, "e")) = [e2]
Range(Cells(3, "f"), Cells(x, "f")) = [f2]
End If
End Sub
热心网友
时间:2023-10-05 10:34
如果要VBA代码的话,做个worksheetchange事件就可以了。追问就是不会弄啊,大神能帮忙弄一个吗?万分感谢
追答私信
热心网友
时间:2023-10-05 10:34
用公式就能实现效果,用公式比用代码好,代码你每次需要运行,采用自动识别会使表格很卡,所以还是公式比较好用。追问我有用过公式,在A3单元格输入”=IF(C3"",A2,"")”,但是每次都不是固定的行数,多余的要删除掉,要不然虽然没有显示,但是打印会打印出来空白的。比如你把公式下拉到10行,打印就打印10张,哪怕只有5行的数据,他后面也给你多打5张是空白的
热心网友
时间:2023-10-05 10:33
复制到 数据 表的 vba窗口,即可
Private Sub Worksheet_Change(ByVal Target As Range) 'Selection
Dim tr, tc
tr = Target.Row
tc = Target.Column
If tr = 2 And tc >= 1 And tc <= 6 Then
x = Range("c65536").End(xlUp).Row
Range(Cells(3, "A"), Cells(x, "a")) = [a2]
Range(Cells(3, "b"), Cells(x, "b")) = [b2]
Range(Cells(3, "d"), Cells(x, "d")) = [d2]
Range(Cells(3, "e"), Cells(x, "e")) = [e2]
Range(Cells(3, "f"), Cells(x, "f")) = [f2]
End If
End Sub
热心网友
时间:2023-10-05 10:34
如果要VBA代码的话,做个worksheetchange事件就可以了。追问就是不会弄啊,大神能帮忙弄一个吗?万分感谢
追答私信
热心网友
时间:2023-10-05 10:34
用公式就能实现效果,用公式比用代码好,代码你每次需要运行,采用自动识别会使表格很卡,所以还是公式比较好用。追问我有用过公式,在A3单元格输入”=IF(C3"",A2,"")”,但是每次都不是固定的行数,多余的要删除掉,要不然虽然没有显示,但是打印会打印出来空白的。比如你把公式下拉到10行,打印就打印10张,哪怕只有5行的数据,他后面也给你多打5张是空白的