我是VBA的新手,正在尝试创建宏。我想在EVE_Workbook(源)的B列中查找“现金和现金等价物”一词,然后将其右侧的7个值(单元格)复制到Macro_Results(目标)的D列中。我需要一个宏的原因是,我将不得不在多个电子表格中为多个变量复制该宏,并且所有单元格都不匹配。 我一直在网上寻找信息,但还没有发现任何实质性信息。我在正确的轨道上吗? Range.Offset也使我绊倒了,所以任何关于我做错事情的建议都会很棒。在此先感谢您的帮助。这是我到目前为止的内容:
Dim LastRow As Long
With Sheets("EVE_Workbook")
LastRow = .UsedRange.Rows.Count
With .Range("B:B")
Criteria1 = "Cash and Cash Equivalents"
Range.Offset(0, 1).Offset(0, 7).Copy
Sheets("Macro_Results").Cell("B2").PasteSpecial Paste:=xlPasteValues, Transpose:=True
End With
.AutoFilterMode = False
End With
结束子
答案 0 :(得分:0)
这是一个很弱的问题,但这是一种开始学习的简单方法。它遍历您的范围,查看每个单元格的值,然后在D列中添加内容。如果您指定问题或自行尝试一些代码,则可能会获得更多帮助。
Sub tryHarder()
Dim aCell As Range, WS As Worksheet
Set WS = ActiveSheet '
With WS
For Each aCell In Intersect(.Range("B:B"), .UsedRange).Cells
'this creates a loop of used cells in column b to check.
If InStr(1, aCell.Value, "Cash and Cash Equivalants", vbTextCompare) > 0 Then
'this inserts a value of boom 2 columns to the right of the found cell
aCell.Offset(, 2).Value = "Boom"
End If
Next aCell
End With
End Sub
如果您想使用FIND Method,它也可以使用,但是当您再次查找时,它会变得有些复杂。您可以自己查找。上面的方法比较慢并且效率不高,因为它过于频繁地写入模板,但是希望您可以理解。