将范围设置为公式,然后设置为值

时间:2015-11-13 20:57:23

标签: excel vba excel-vba

我正在寻找一种更简单的方法,将Excel中的单元格设置为公式,然后设置值。下面是我写过的宏的子集。

Range("InsuredName").Value = "=INDEX(Data,RetrievalRow,InsuredNameIndex)"
Range("InsuredName").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

我可以在不必复制粘贴特殊值的情况下完成此操作吗?我在模型中有一个输入表,用户输入必要的输入,模型根据这些输入执行某些计算。我内置了功能,可以在以后保存和检索输入。因此,根据要求检索指定的输入集,此宏将公式放在输入选项卡上的相应单元格中,以在存储输入的数据选项卡中执行查找。然后,它将该单元格粘贴到值。对于许多输入重复这样做。我认为有一种更简单的方法,但我无法弄明白。

2 个答案:

答案 0 :(得分:2)

全部替换为:

<DataGridTextColumn Header="Price"
                    Binding="{Binding Price}"
                    IsReadOnly="{Binding Data.LockFields, Source={StaticResource proxy}}"/>

答案 1 :(得分:2)

使用a b c 1 2 3 2 3 4 方法

Evaluate()

如果没有要使用的VBA变量,您也可以使用方括号的简写:

Range("InsuredName").Value = Evaluate("INDEX(Data,RetrievalRow,InsuredNameIndex)")

您还可以评估命名范围以返回范围对象 - 因此,您可以再次使用速记表达式:

Range("InsuredName").Value = [INDEX(Data,RetrievalRow,InsuredNameIndex)]
相关问题