宏生成表格首单元格需固定值而非公式,求VBA代码修改方案
解决VBA生成表格时固定单元格值的问题
你当前的代码是给单元格设置公式=CB5,这会让单元格始终关联CB5的值,自然会跟着变动。要实现值的固定,直接将CB5单元格的当前值赋值给目标单元格即可,不用设置公式:
修改后的代码:
objTable1.DataBodyRange.Cells(1, 1).Value = Range("CB5").Value
原理很简单:
- 原代码是让单元格保存公式,Excel会自动计算公式结果并随引用单元格更新;
- 修改后是直接把CB5单元格的当前数值/文本内容赋值给目标单元格,相当于“复制粘贴值”的效果,后续CB5的变化不会再影响这个单元格。
如果你的CB5是动态变化的(比如每次生成表格时CB5的位置或内容不同),这段代码依然有效,因为它会在生成表格的瞬间读取CB5的当前值并固定下来。
内容的提问来源于stack exchange,提问作者Ryan Data Guy
相关产品推荐
相关产品推荐

