是否有可能有一个公式的单元格,并在Excel中同时接受input?

例:

AB 1 =vlookup(XX) 2 3 

在单元格A1中有一个Vlookup公式,是否可以在此单元格中启用用户input并覆盖公式,然后在表单再次打开时自动恢复公式? 即使通过VBA

简短,无聊的答案:不。

一个单元格只有一个键入或计算公式 。 不能有两个。


更长的答案:也许。

将所有行向下移动1行,并使用第1行来存储您的“原始”公式 – 然后隐藏该行(并祈祷用户不会弄乱它)。

当工作表再次打开时,听起来像是在混淆“工作簿”和“工作表” – 如果要在工作簿打开时运行代码,则需要处理Workbook_Open 。 工作簿包含工作表 – 这是打开的工作簿,而不是工作表(工作表激活 ,但我怀疑你会想把那个逻辑放在那里)。

因此,在Workbook_Open的处理程序中,编写代码将隐藏行中的公式覆盖,并覆盖下面的内容。

另一个解决scheme可以是在VBA代码中对公式进行硬编码。

一种可能性是将工作簿存储为模板 。 通常情况下,当用户通过双击打开工作簿时,会根据模板打开全新的工作簿,并将其修改为自己的内容,保存并邮寄给奶奶等。

接下来的人将双击模板文件并重新获取公式,就像您devise的一样。

简短的回答:有点,有点

长答案:将工作簿保存为模板。 每次有人使用它,你会看到公式的原始,然后如果有人写公式,当使用保存您的原件将保持不变。

你需要做的是:

按下Alt + F11

selectThisWorkbook并粘贴以下代码:

 Private Sub Workbook_Open() Worksheets("Sheet1").Range("A11").Value = "asdf" End Sub 

每次打开工作簿,该脚本都会运行。

而不是“Sheet1”,您可以编写要应用该脚本的工作表的名称。

Range ,您可以定义要修改的单元格,甚至可以使用多个单元格。 检查这个更多的信息。

Value之后你可以在单元格内写下你想写的东西。 你可以写“= vlookup(XX)”,它会工作。