我有一个优先的作业列表,其中包含从相邻数值数据计算的多个列中的受保护公式。我不想勾选允许用户插入和删除行的复选框,以便保持纸张尺寸。
我要做的是有两个命令按钮,一个用于up
,一个用于down
,这将相应地向上或向下移动未受保护的单元格。 (即更改优先级。)而不删除上面或下面的数据。 (有效地交换行中的数据)。
我正在思考"提升"按钮,插入上面2行的范围,将数据复制到这些单元格(基于活动单元格或选定的单元格),然后删除原始范围的单元格,将单元格向下移动。类似于"向下移动"按钮。
我似乎无法找到我要找的东西,因为我不相信我可以使用插入线,因为锁定的列也需要复制公式。帮助赞赏,我有点超出我的深度。
想一想,按钮可能会关闭保护,复制,插入2行上方或下方,粘贴,删除行(原始),然后重新启用保护?
答案 0 :(得分:2)
您可以使用临时变量交换单元格公式/值。
Sub SwapCellFormulas(c1 as Range, c2 as Range)
Dim temp as String: temp = c1.FormulaR1C1
c1.FormulaR1C1 = c2.FormulaR1C1
c2.FormulaR1C1 = temp
End Sub
Sub SwapCellValues(c1 as Range, c2 as Range)
Dim temp: temp = c1.Value
c1.Value = c2.Value
c2.Value = temp
End Sub
感谢Jeeped建议.FormulaR1C1而不是.Formula