在特定列X的单元格中插入公式的同一行中,其中单元格包含“特定文本”

时间:2019-10-15 16:57:32

标签: excel vba if-statement search

这里完全是绿色。我正在尝试编写一个宏,该宏首先清理工作表中的一些不必要的数据和间距,然后完成此任务:

  

在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"")"

运行时,此宏应

  1. 清理电子表格
  2. 搜索字符串,找到后将公式粘贴到所需行中

非常感谢您的耐心和帮助。

0 个答案:

没有答案