我需要为每个循环更改电池动态范围

时间:2019-07-11 10:34:42

标签: excel vba

我需要在Excel工作表中找到一些字符串。让我们称之为"size"。 然后,我想在其左侧添加一个新列。

我建立了一个For … Each循环,该循环查找字符串并在其左侧添加一列。问题是我需要声明范围,并且不能动态地将其更改为字符串位置的列的相同范围。这是代码:

    Dim myRange As Range
    Dim myCell As Range
    Dim newcolumn As Range

    Set newcolumn = Range("A:A")
    Set myRange = Range("A1:cc1")

    For Each myCell In myRange
        If myCell = "size" Then
            newcolumn = myCell
            newcolumn.EntireColumn.Insert
        End If
    Next myCell
End Sub

它找到字符串,并将该列添加到所定位列的左侧。 如何在myCell范围的左侧添加列?

1 个答案:

答案 0 :(得分:0)

我认为应该做你想做的事

Dim myRange As Range
Dim myCell As Range
Dim skip As Boolean

Set myRange = Range("A1:cc1")

skip = False

For Each myCell In myRange
    If myCell = "size" And Not skip Then
        myCell.EntireColumn.Insert shift:=xlToRight
        skip = True
    Else
        skip = False
    End If

Next myCell

该代码遍历myRange中的所有单元格,并且一旦找到带有"size"的单元格,就会在该单元格的左侧添加一个新列。