请问我想在excel录制一个宏怎么录制?我尝试以下编程,怎么修改,正确编程?请高手指教

来源:百度知道 编辑:UC知道 时间:2024/06/19 13:53:11
我想把excel表第一列中含有“居民委员会”字符的单元格,那一行的D列的数据删掉,或者说改为0也可以。编这么个循环语句以及,怎么编写。请各位大虾们指教~~
比如说第4行第一列是 南坪居民委员会,我想把这行的D列数据删掉,然后行就一直往下加,直到单元格(i,1)为空为止。
Sub Select9_5()
i = 1
While Cells(i, 1) <> ""
if (instr(cells(i,1),"社区居委会",vbtextcompare <>"0") Then Delete Cells(i, 4)else return
i = i + 1
Wend
LastRow = i - 1

Range(Cells(1, 1), Cells(LastRow, 4)).Select
End Sub

不用这么复杂吧。
插入一列辅助列E,
E2=if(a2="南坪居民委员会",0,1)下拉,

然后筛选E列为0的,将D列的数据改为0就可以了

工具---宏---录制新宏,(操作)----停止录制

Sub Select9_5()
Dim i As long
i = 65536
While i > 0
If InStr(1, Cells(i, 1), "社区居委会", vbTextCompare) <> "0" Then
Range("D" & i).Select
Selection.Delete Shift:=xlUp
i = i - 1
Else
i = i - 1
End If
Wend
End Sub