我已复制了需要整理的pdf。我在A列中有规范(SS ####),在B-H中有misc写入。问题是某些规范最终出现在B列中,所以我想搜索所有带SS的单元格,然后将整行移动。我尝试过使用自动过滤器和选择可见细胞,以及.find无济于事。
感谢您的帮助!
on()
这将为下面显示的四个中的每一个选择B列中的单元格,但我不知道如何抓住行的其余部分并将其向右移动。 ()
答案 0 :(得分:0)
试试这个,它会在B栏中搜索类似" SS"如果找到则删除左边的单元格,即A,并将整行向左移动。
Sub findSS()
Dim getLastRow As Long
getLastRow = Range("B" & Rows.Count).End(xlUp).Row
For i = 1 To getLastRow
If Range("B" & i) Like "*SS*" Then
Range("A" & i).Select
Selection.Delete Shift:=xlToLeft
End If
Next
End Sub
更新,将找到" SS"在D列中,或者如果您希望在任何列中找到它,只需更改" D"你想要的列,它将获得SS并插入一行并将其放在那里。
Sub findSS()
Dim getLastRow As Long
Dim columnLetter As String
getLastRow = Range("B" & Rows.Count).End(xlUp).Row
columnLetter = "D"
For i = 1 To getLastRow
If Range(columnLetter & i) Like "*SS*" Then
Range(columnLetter & i).Insert shift:=xlDown
End If
Next
End Sub
答案 1 :(得分:0)
请尝试以下操作删除列的单元格并向左移动:
dim i as long, lr as long
lr = cells(rows.count,1).end(xlup).row
for i = 2 to lr 'assumes row 1 is headers
if left(cells(i,2),2)="SS" then cells(i,1).delete Shift:=xltoleft
next i
尝试下面添加一个空白单元格并向右移动:
dim i as long, lr as long
lr = cells(rows.count,1).end(xlup).row
for i = 2 to lr 'assumes row 1 is headers
if left(cells(i,2),2)="SS" then cells(i,1).insert Shift:=xltoright
next i