我需要将一个公式/函数(美元函数)应用到一个单元格区域,然后只剪切和粘贴值。
我有一个标题行,并使用Find找到我需要的列。然后,对于下面的所有单元格,我想应用美元公式。但是,宏末尾的结果需要是,应用公式后,这些单元格现在只包含值,而不是公式本身(这是因为我将使用工作表运行邮件合并,因此它不能包含公式)。
我尝试过运行Do While和其他剪切/粘贴方法。我只是不具备完成这件事的技能:
Sub ProjectSummaryAdjustment()
Workbooks("Project Summary").Activate
Range("A1",Range("A1").End(xlToRight)).Find("TD Budget Effort").Select
这就是我对代码的理解。现在,对于下面的所有单元格,我想应用美元公式,然后将值粘贴到那里。我不介意它是否必须剪切并粘贴到第一个空列,然后再剪切并粘贴回原始列。
发布于 2019-05-29 02:57:54
首先,请确保您应该避免选择并激活。然后,您可以简单地使用evaluate进行转换。您需要先将该字段设置为文本:
With Workbooks("Project Summary").Worksheets("Sheet1") 'Change to your sheet name
Dim rng As Range
Set rng = .Range("A1", .Range("A1").End(xlToRight)).Find("TD Budget Effort")
'Test to make sure the header was found
If Not rng Is Nothing Then
With .Range(.Cells(2, rng.Column), .Cells(.Rows.Count, rng.Column).End(xlUp))
.NumberFormat = "@"
.Value = .Parent.Evaluate("index(DOLLAR(" & .Address & "),)")
End With
End If
End With
https://stackoverflow.com/questions/56347565
复制相似问题