【问题标题】:Break connections in excel while keeping values in cells在 Excel 中断开连接,同时将值保留在单元格中
【发布时间】:2014-07-03 03:20:06
【问题描述】:

我有一个包含 5 个工作表的 excel 工作簿。后面的 4 个工作表由 Access 中的查询填充,其中包含摘要值。前面的工作表格式很好,有图表等。通过将单元格公式设置为以下内容,可以从背面表格中提取正面表格中的值:

= BackSheet1!A1

这很好用,但现在我需要保留单元格中的值并断开连接,这样我就可以删除后面的 4 个工作表(因为这就是老板想要的)。

所以我的问题是关于这个的执行。我最初的想法是创建一个按钮并在其后面放置一些 vba 来提取值并将它们放入第六张纸,然后删除旧的 5 张纸。有没有更好的办法?我可以从 Access VBA 调用 VBA 的 excel 块,以便在创建文件时发生这种情况吗?任何其他想法或提示表示赞赏。

谢谢。

【问题讨论】:

  • 可能最简单的做法是突出显示单元格,复制它们,然后执行“特殊粘贴” - 只需粘贴值。这样你就可以得到结果并且没有公式。
  • 您是否需要构建一个功能以便您的老板可以一遍又一遍地执行此操作,还是您只需要这些值。如果是后者,请按照@durbnpoisn 的建议进行操作。
  • 一遍又一遍,我知道粘贴值,但我希望它对用户更友好,以防不知道该过程的人必须这样做。
  • 在这种情况下,只需编写一个宏来复制工作表并特殊粘贴。并在工作表上放置一个按钮来执行此操作。如果您不确定这是如何完成的,只需从 Record Macro 开始,在该表上按 Ctrl-A 并执行特殊粘贴并查看 VBE 的代码。
  • 谢谢!我会试一试

标签: vba excel excel-2010


【解决方案1】:

我继续使用excel中的记录宏功能,在宏中的一个按钮后面复制和粘贴值,然后编码删除我的其他页面。

'delete other sheets
    Application.DisplayAlerts = False
    For Each ws In Sheets
        If ws.Name <> "Summary" Then ws.Delete
    Next
    Application.DisplayAlerts = True

所以我在大约 20 分钟内摆脱了这种陈规,只输入了 5 行代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-12
    • 2019-11-25
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    相关资源
    最近更新 更多