EXCEL 用VBA编写自动填充公式功能
PrivateSubWorksheet_Activate()Dimi,n,xAsIntegerx=[c1048576].End(xlUp).RowFori=xTo2Ste...
Private Sub Worksheet_Activate()
Dim i, n, x As Integer
x = [c1048576].End(xlUp).Row
For i = x To 2 Step -1
For n = x To 2 Step -1
If Cells(n, 2) = Cells(i, 3) Then
Cells(n, 9) = "0"
Exit For
End If
Next
Next
End Sub
我想在这个编码里加入这个功能:第1列输入到什么地方,第8至11列自动填充公式到相应的行数 展开
Dim i, n, x As Integer
x = [c1048576].End(xlUp).Row
For i = x To 2 Step -1
For n = x To 2 Step -1
If Cells(n, 2) = Cells(i, 3) Then
Cells(n, 9) = "0"
Exit For
End If
Next
Next
End Sub
我想在这个编码里加入这个功能:第1列输入到什么地方,第8至11列自动填充公式到相应的行数 展开
4个回答
展开全部
看了下你的公式运行方式,就是对比是否在C列里有B列的相同数据,有就在第9列写个"0"。写得也怪怪的。帮你改下这样
Private Sub Worksheet_Activate()
For n = 2 To [b65535].End(xlUp).Row
Cells(n, 2).Select
Cells(n, 9) = Evaluate("=IF(COUNTIF(C:C,INDEX(B:B,ROW()))>0,0,"""")")
Cells(n, 8) = Evaluate("你的excel公式")
Cells(n, 10) = Evaluate("你的excel公式")
Cells(n, 11) = Evaluate("你的excel公式")
NextEnd Sub
Private Sub Worksheet_Activate()
For n = 2 To [b65535].End(xlUp).Row
Cells(n, 2).Select
Cells(n, 9) = Evaluate("=IF(COUNTIF(C:C,INDEX(B:B,ROW()))>0,0,"""")")
Cells(n, 8) = Evaluate("你的excel公式")
Cells(n, 10) = Evaluate("你的excel公式")
Cells(n, 11) = Evaluate("你的excel公式")
NextEnd Sub
追问
呃,可以留一下你的Q吗?我想详细跟你请教一下
追答
24278528
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Worksheet_Activate()
Dim i, n, x As Integer
x = [c1048576].End(xlUp).Row
For i = x To 2 Step -1
If Cells(i, 2) = Cells(i, 3) Then
Cells(i, 9) = "0"
Exit For
End If
if cells(i,1)<>"" then
range(cells(i,8),cells(i,11)=i
end if
Next
Next
End Sub
Dim i, n, x As Integer
x = [c1048576].End(xlUp).Row
For i = x To 2 Step -1
If Cells(i, 2) = Cells(i, 3) Then
Cells(i, 9) = "0"
Exit For
End If
if cells(i,1)<>"" then
range(cells(i,8),cells(i,11)=i
end if
Next
Next
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cells(1,8).resize([a65536].end(3).row,4).filldown
这样?不过你好像第9列另有安排哎
这样?不过你好像第9列另有安排哎
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询