粘贴在VBA数据
图片工作表我正在设置床单,有酒店的详细信息和栏目“D”有PMH,SCGH,FSH附近的医院。 我想要做的是基于同一张纸上的单元格值search列“D”。 我有下面的代码,但它只会做我想要的,如果列“D”单元格是单个条目,如pmh。 我需要能够search列“D”中的所有单元格的任何文本的实例。
非常感谢您的帮助
`Option Explicit Sub finddata() Dim hospitalname As String Dim finalrow As Integer Dim i As Integer Sheets("Results").Range("A4:D100").ClearContents Sheets("Main").Select hospitalname = Sheets("Main").Range("g3").Value finalrow = Sheets("Main").Range("A1000").End(xlUp).Row For i = 2 To finalrow If Cells(i, 4) = hospitalname Then Range(Cells(i, 1), Cells(i, 4)).Copy Sheets("Results").Range("A4").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats End If Next i Sheets("Main").Range("g3").Select End Sub
`
两个最简单的方法来做到这一点
-
使用
Like
运算符:If Cells(i, 4).Value Like "*" & hospitalname & "*" Then
这种方法的缺点是,例如,
PMH
的医院名称可能与另一个如SPMH
相匹配。 -
使用
InStr
函数:If Instr("," & Cells(i, 4).Value & ",", "," & hospitalname & ",") > 0 Then
在这一行中,我用逗号“包装”正在查看的单元格和正在search的值,最后searchstring
",PMH,"
中的string",PMH,SCGH,FSH,"
。InStr
将返回匹配发生的字符位置,如果没有匹配,则返回零。 因此,testing> 0
是testing是否发生匹配。