是否有可能有一个公式的单元格,并在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)”,它会工作。