Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 匹配值并将数据粘贴到下一个可用单元格中_Excel_Vba - Fatal编程技术网

Excel 匹配值并将数据粘贴到下一个可用单元格中

Excel 匹配值并将数据粘贴到下一个可用单元格中,excel,vba,Excel,Vba,我试图轻松地将文本添加到包含匹配项的所有单元格中。我的问题是我不想覆盖任何单元格,因此如果B2包含任何内容,请将数据粘贴到下一个可用的空白单元格中 当我运行宏时,我希望在与Range2中的数据相匹配的下一个空白单元格中添加Range2.value(在示例中为每1.1添加X) X是任何新数据应添加到的位置。 例如: 这就是我一直在使用的代码。到目前为止,它将在第一次成功地查找和添加,但当它再次运行时,它会将我想要的值添加到i 1到X amount Sub onelineCODE() Dim i

我试图轻松地将文本添加到包含匹配项的所有单元格中。我的问题是我不想覆盖任何单元格,因此如果B2包含任何内容,请将数据粘贴到下一个可用的空白单元格中

当我运行宏时,我希望在与Range2中的数据相匹配的下一个空白单元格中添加Range2.value(在示例中为每1.1添加X)

X是任何新数据应添加到的位置。 例如:

这就是我一直在使用的代码。到目前为止,它将在第一次成功地查找和添加,但当它再次运行时,它会将我想要的值添加到i 1到X amount

Sub onelineCODE()

Dim i As Integer
Dim SrchRng As Range, cel As Range

Set SrchRng = Range("D3:D10")
For Each cel In SrchRng
    For i = 1 To 20
        If cel.Offset(, i).Value > 0 And InStr(1, cel.Value, Range("D2")) > 0 Then
            cel.Offset(, i + 1).Value = Range("E2")
        ElseIf InStr(1, cel.Value, Range("D2")) > 0 Then cel.Offset(, 1).Value = 
            Range("E2")
        End If
    Next i
Next cel

End Sub
非常感谢您的帮助。

这个怎么样:

Sub stackOverflow()
    Dim i As Integer, searchValue As Double, fillValue As String
    Dim SrchRange As Range, cel As Range, offRange As Range
    searchValue = 1.1
    fillValue = "X"
    Set SrchRng = Range("D3:D10")
    For Each cel In SrchRng
        If cel.Value = searchValue Then
            Set offRange = cel.Offset(0, 1)
            Do While Not IsEmpty(offRange)
                Set offRange = offRange.Offset(0, 1)
            Loop
            offRange.Value = fillValue
        End If
    Next cel
End Sub
希望对你有帮助,快乐编码

Sub stackOverflow()
    Dim i As Integer, searchValue As Double, fillValue As String
    Dim SrchRange As Range, cel As Range, offRange As Range
    searchValue = 1.1
    fillValue = "X"
    Set SrchRng = Range("D3:D10")
    For Each cel In SrchRng
        If cel.Value = searchValue Then
            Set offRange = cel.Offset(0, 1)
            Do While Not IsEmpty(offRange)
                Set offRange = offRange.Offset(0, 1)
            Loop
            offRange.Value = fillValue
        End If
    Next cel
End Sub