gpt4 book ai didi

excel - 在包含单词 vba excel 的行之前插入行

转载 作者:行者123 更新时间:2023-12-04 22:19:38 27 4
gpt4 key购买 nike

我正在尝试在包含特定单词的行上方插入一个空白行。但到目前为止,我只能将它插入到这一行下方。

Sub INSERTROW()
Dim c As Range
Dim lRow As Long
lRow = 1
Dim lRowLast As Long
Dim bFound As Boolean
With ActiveSheet
lRowLast = .Cells(.Rows.Count, 1).End(xlUp).Row
Do
Set c = .Range("A" & lRow)
If c.Value Like "*SEARCHED VALUE*" Then
bFound = True
ElseIf bFound Then
bFound = False
If c.Value <> "BLANKROW" Then
c.EntireRow.Insert
lRowLast = lRowLast + 1
c.Offset(-1, 0).Value = "BLANKROW"
c.Offset(-1, 0).Font.Color = RGB(0, 0, 0)
End If
End If
lRow = lRow + 1
Loop While lRow <= lRowLast + 1
End With
End Sub

最佳答案

如果您使用 find 方法,它会更容易和更快(AFAIK)。
看到我插入了找到值的行,然后我用偏移函数引用了前一行。
最后,作为一个好的做法,尝试将您的过程和变量命名为有意义的名称并缩进您的代码(您可以使用 www.rubberduckvba.com )

Public Sub InsertRowBeforeWord()

Dim findString As String
findString = "*SEARCHED VALUE*"

Dim lastRow As Long
lastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row

Dim searchRange As Range
Set searchRange = ActiveSheet.Range("A1:A" & lastRow)

Dim returnRange As Range

Set returnRange = searchRange.Find(What:=findString, _
After:=searchRange.Cells(searchRange.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)

If Not returnRange Is Nothing Then

returnRange.Offset(0, 0).EntireRow.Insert
returnRange.Offset(-1, 0).Value = "BLANKROW"
returnRange.Offset(-1, 0).Font.Color = RGB(0, 0, 0)

End If

End Sub
让我知道它是否有效。

关于excel - 在包含单词 vba excel 的行之前插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65299475/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com