我想得到一些帮助的床单,我正在努力创建。
我的问题
我想做一个宏,它将一个单元格插入到一个具有特定值的单元格旁边。我的床单看起来有点像这样:
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目标
我希望每个字符串的允许我使用到目前为止发现的内容,并重用它,直到它到达我的数据底部。当它到达底部时,它应该停止查找进程,并继续我在这个宏函数下面可能拥有的任何内容。我能让VBA按我的要求去做吗?请让我知道。
发布于 2017-12-21 15:44:33
如果要循环遍历单元格并向右插入,则:
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发布于 2017-12-21 15:44:45
如果您的数据是在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 Subhttps://stackoverflow.com/questions/47927863
复制相似问题