本文介绍了VBA复制粘贴字符串搜索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我似乎无法弄清楚如何编写一个通过单元格C10:G10搜索以找到等于单元格A10的匹配项的vba代码,一旦找到该匹配项,就将范围A14:A18复制到匹配的单元格中,但在例如F14之下:F18(查看图片)

I can’t seem to figure out how to write a vba code that search’s through cells C10:G10 to find a match that equals cell A10, once found, copies range A14:A18 to the matched cell but below e.g F14:F18 (See Image)

下面的宏

'Copy
Range("A14:A18").Select
Selection.Copy
'Paste
Range("F14:F18").Select
ActiveSheet.Paste!

推荐答案

尝试一下:

With Sheets("SheetName") ' Change to your actual sheet name
    Dim r As Range: Set r = .Range("C10:G10").Find(.Range("A10").Value2, , , xlWhole)
    If Not r Is Nothing Then r.Offset(4, 0).Resize(5).Value2 = .Range("A14:A18").Value2
End With

范围对象具有 查找方法 ,以帮助您查找范围内的值.
然后返回与您的搜索条件匹配的Range对象.
要使值正确定位,只需使用 Offset and Resize Method .

Edit1 :要回答OP的评论

要在范围中查找公式,您需要将 LookIn 参数设置为 xlFormulas .

To find formulas in Ranges, you need to set LookIn argument to xlFormulas.

Set r = .Range("C10:G10").Find(What:=.Range("A10").Formula, _
                               LookIn:=xlFormulas, _
                               LookAt:=xlWhole)

上面的代码查找范围与单元格A10完全相同的范围.

Above code find Ranges with exactly the same formula as Cell A10.

这篇关于VBA复制粘贴字符串搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-30 22:51