这里完全是绿色。我正在尝试编写一个宏,该宏首先清理工作表中的一些不必要的数据和间距,然后完成此任务:
在A:A内,如果单元格文本包含“特定文本”,则在 与包含“特定文本”的单元格相同的行上的B / D / F列。
我正在尝试自动将值从一个单位转换为另一个单位。单位类型与A:A单元格中某物的值相关联,公式需要作用于B:B(区域),D:D(长度)或F:F(计数)中的值根据A:A的单元格所在的单位。
数据的列位置将始终相同,但是行的顺序在文档之间变化。
如何获取转换公式以应用于所需的单元格值? 即使将文本添加到A:A的单元格中,如何运行宏?
我已经使用了Macro Recorder编写了格式,并准备了将在结果字符串中使用的公式。
清理步骤
Sub Takeoff()
'
' Takeoff Macro
'
'
Rows("4:4").Select
Selection.Delete Shift:=xlUp
Columns("H:O").Select
Selection.ClearContents
Columns("B:G").Select
Selection.EntireColumn.AutoFit
Columns("A:I").Select
Selection.NumberFormat = "#,##0.00"
End Sub
转换步骤
我想我会使用类似以下的内容,为每个转换情况重复If / Then。 A:A中的单元格将始终包含要执行的操作,但是该文本之后可能还会有其他文本-If / Then是执行此操作的最佳方法吗?
Dim Entry As String, result As String
Entry = Range("A:A").Value
If Entry = "Slope Mat" Then
Range("H:H").Value = result
转化公式
我认为RC [-x]将根据需要将结果保留在同一行中。
"=RC[-4]*2"
"=RC[-6]*0.00184"
"=ROUNDUP(1.14*CONVERT(RC[-6],""ft^2"",""yd^2""),-2)"
"=CONVERT(RC[-6],""ft^2"",""us_acre"")"
运行时,此宏应
非常感谢您的耐心和帮助。