bounty将在6天后过期。回答此问题可获得+50声望奖励。Saadiq希望引起更多人关注此问题。
我试图构建一个VBA工具,在每行中搜索特定的文本字符串(例如“Salary”),复制相邻的值,并将其粘贴到指定范围内的下一个空单元格中。但是,如果在行中找不到特定的文本字符串,我希望该工具将“NULL”粘贴到指定范围内的下一个空单元格中。
这是我目前为止所做的,但我认为我已经搞砸了循环和if语句的语法。我是VBA的新手,不知道如何修复它:
Sub IF_Statement_test()
Dim rng As Range
Dim row As Range
Dim cell As Range
Set rng = Range("A1:B4")
For Each row In rng.Rows
If row.Cells.Find(What:="Salary") = True Then
row.Cells.Find(What:="Salary").Offset(0, 1).Copy
Range("A8").Find(What:="Salary").Offset(0, 1).Select
If Not IsEmpty(ActiveCell) Then
Range("A8:E8").End(xlToRight).Offset(0, 1).PasteSpecial
Else
If IsEmpty(ActiveCell) Then
ActiveCell.PasteSpecial
ElseIf row.Cells.Find(What:="Salary") = False Then
Range("A8").Find(What:="Salary").Offset(0, 1).Select
If Not IsEmpty(ActiveCell) Then
Range("A8:E8").End(xlToRight).Offset(0, 1).Value = "NULL"
ElseIf IsEmpty(ActiveCell) Then
ActiveCell.Value = "NULL"
End If
Application.CutCopyMode = False
Next
End Sub
3条答案
按热度按时间vsmadaxz1#
查找字符串
camsedfj2#
你可以试试这个(未测试):
ghhaqwfi3#