首页 文章

VBA Excel如何将值的一部分替换为另一个Cells值

提问于
浏览
1

我想要一个单元格,其中有人可以输入公式,然后使用宏来自动将该公式中的单词替换为同一工作表中的正确数字 .

例:
Sheet包含一个单元格(L8),其值为Weight,让我们说它的10另一个单元格(L10)具有Height的值,比方说20 .

现在,如果有人在单元格中输入类似的内容(I27):(高度120)/重量我希望宏用相应的值替换文本,这样我就可以将该文本用作公式并在单元格I28中显示结果 .

因此,细胞(I27)将显示20 120/10,细胞(I28)将输出该公式的结果 .

值在列L8-L14中 .

我尝试使用我发现的解决方案,其中包括以下内容:

With Range("I27")
    .Replace What:="Weight", _
            Replacement:="", _
            LookAt:=xlPart, _
            SearchOrder:=xlByRows, _
            MatchCase:=False, _
            SearchFormat:=False, _
            ReplaceFormat:=False
End With

我需要以某种方式告诉它从另一个细胞获得替代品 .

我想如果我能够使代码工作,我就可以为我想要替换的每个单词复制它(4)然后处理一个解决方案,使用公式将结果输出到它旁边的单元格中 .

1 回答

  • 3

    要使用命名范围,

    1- Select the menu Formulas --> Name Manager
    2- New...--> Name: Weight, RefertTo: =Sheet1!$L$8 -->OK
    3- New...--> Name: Height, RefertTo: =Sheet1!$L$10 -->OK
    

    现在,您的单元格 L8 具有名称"Weight",而单元格 L10 具有名称"Height" . 您可以在任何单元格中键入此公式:

    =(Height+120)/Weight
    

    并得到 (L10+120)/L8 的结果值 .

    附:在步骤2和3中,您可以通过将光标放在 RefersTo 框中然后单击获取名称的相应单元格来更轻松地完成 .

相关问题