如果单元格包含“&”

时间:2019-06-12 10:03:10

标签: excel vba

可能我错过了一些简单的事情,但是我需要减少一列,然后复制并插入单元格中带有“&”的任何行。

我设法将它放到这里,但是现在它只是卡在第一个带有“&”的单元格上,不会越过它。

Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Working")

Dim rng As Range

On Error Resume Next

ws.Range("A2").Select

Do Until ActiveCell.Offset(1, 0) = Empty
    If InStr(ActiveCell, "&") <> 0 Then GoTo InsertRow Else
    ActiveCell.Offset(1, 0).Select
Loop

InsertRow:
    Set rng = ActiveCell.Rows
    rng.Rows.Select
    Selection.Copy
    Selection.Insert Shift:=xlDown
    ActiveCell.Offset(2, 0).Select
    Resume Next

该列中可能有空格,但是我可以稍后进行编辑,只要宏实际上可以运行到第一个单元格之外,我们就可以了。没有错误消息,因为它只是粘贴到包含“&”的第一个单元格上。

Before

After

之前和之后,第二张图片显示了要复制的行。

1 个答案:

答案 0 :(得分:0)

  • 没有选择,激活,ActiveCell等
  • 没有OnError
  • 没有简历
  • 从下至上重复

Option Explicit
Sub dupAmps()
    Dim WS As Worksheet, C As Range
    Dim LR As Long
    Dim I As Long
Set WS = Worksheets("sheet1")
With WS
    LR = .Cells(.Rows.Count, 1).End(xlUp).Row
End With

For I = LR To 2 Step -1
    Set C = WS.Cells(I, 1)
    If InStr(C, "&") > 0 Then
        C.EntireRow.Insert shift:=xlDown
        C.EntireRow.Copy C.Offset(-1, 0)
    End If
Next I

End Sub