【问题标题】:insert cell next to a cell that contains a certain value在包含特定值的单元格旁边插入单元格
【发布时间】:2018-06-04 07:15:09
【问题描述】:

我想就我正在尝试创建的工作表获得一些帮助。

我的问题

我想做一个宏,它在具有特定值的单元格旁边插入一个单元格。我的工作表看起来有点像这样:

Invoice       14-12-2017   USD     400,00  
Discount                   USD     125,65  
Creditmemo    14-12-2017   USD     205,60  
Invoice       16-12-2017   USD     906,75  
Invoice       19-12,2017   USD     855,00  
Discount                   USD     105,80  

问题是我想在包含单词“折扣”的单元格右侧插入一个单元格,因为每当出现折扣单元格时,数据未在右列中对齐。

我目前所拥有的

    Cells.Find(What:="Discount", After:=ActiveCell, LookIn:=xlFormulas, _
    LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False).Activate

    ActiveCell.Offset(0, 1).Insert Shift:=xlShiftToRight

目标

我希望 For Each 字符串允许我使用到目前为止发现的内容,并重复使用它,直到它到达我的数据底部。当它到达底部时,它应该停止查找过程,并继续我在宏的这个功能下可能拥有的任何东西。我是否可以让 VBA 完成我的要求?请告诉我。

【问题讨论】:

  • Find All Matches 是您所需要的。我也投票结束这个问题,因为这不是关于不起作用的代码的问题,而是要求提供代码而不显示任何尝试制作所需代码的问题。

标签: vba excel for-loop find


【解决方案1】:

如果你想遍历单元格并插入到右边:

Sub Button1_Click()
    Dim LstRw As Long
    Dim Rng As Range, c As Range

    LstRw = Cells(Rows.Count, "A").End(xlUp).Row
    Set Rng = Range("A1:A" & LstRw)
    For Each c In Rng.Cells
        If LCase(c) = "discount" Then
            c.Offset(, 1).Insert Shift:=xlToRight
        End If
    Next c
End Sub

如果您想在有空白单元格时插入,则可以使用特殊单元格。

Sub InsertOnBlank()

    Columns("B:B").SpecialCells(xlCellTypeBlanks).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub

【讨论】:

    【解决方案2】:

    如果您的数据在 Sheet1 中,那么以下内容应该符合您的预期:

    Sub foo()
    LastRow = Sheets("Sheet1").Cells(Sheets("Sheet1").Rows.Count, "A").End(xlUp).Row
    For i = 2 To LastRow
        If Sheets("Sheet1").Cells(i, 1).Value = "Discount" Then Sheets("Sheet1").Cells(i, 2).Insert Shift:=xlToRight
    Next i
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2020-05-23
      • 1970-01-01
      • 2023-03-13
      • 2023-04-02
      • 1970-01-01
      • 2017-02-22
      • 1970-01-01
      • 2012-02-14
      • 1970-01-01
      相关资源
      最近更新 更多