我有一个excel文档,大多数列需要每月减1,剩下的单元格加1。棘手的部分是将新值返回到相同的单元格(不使用传统的=a1-b1公式)。我可以通过宏来完成这一点,并每月手动运行它。我不熟悉VBA编码,但想学习如何编码这个。谢谢!我对宏编码不熟练。我看过录像,也看过书,但还没有找到解决办法。我需要这比阅读一本500页关于宏的书或在YouTube上看100个视频更快地发生。再次感谢。.
6ss1mwsb1#
我不愿意为你写代码,但是我想指出,如果你
然后你可以手动地从新的工作簿复制这些列,并将其作为值粘贴到原始的工作簿中。保存此新工作簿,您也可以在下个月重新使用它。(或者你可以在同一个工作簿中使用不同的工作表,但如果你将公式化版本保存为一个新的、单独的工作簿,那么任何人查看原始工作簿时都不会看到任何令人困惑的“额外内容”。)一旦你有了这个权利,那可能就足够好了,因为你一个月只做一次,根本不需要代码!编写代码循环遍历特定列中的每个单元格并加/减1可以有很多方法,但也许一种使手动过程更快,更简单的方法就足够了!但是如果您愿意,您可以使用您所拥有的作为概念证明,并继续1.将复制和粘贴为值操作记录为宏,1.调整宏代码以使用绝对地址而不是ActiveWorksheet然后你就可以每月打开新的工作簿,然后点击一个按钮。
ActiveWorksheet
或者,你可以为整个事情记录一个宏 (复制整个原始文件,将列更改为公式'value from original sheet ± 1',复制&粘贴为值回到原始文件中,然后删除工作副本,因为无论如何,你都想重新开始)。..但是如果你要这样做,那么可能值得编写代码来实现你在问题中提到的方法,直接递增值,而不是这种“模板化然后粘贴为值”的方法。
1条答案
按热度按时间6ss1mwsb1#
我不愿意为你写代码,但是我想指出,如果你
然后你可以手动地从新的工作簿复制这些列,并将其作为值粘贴到原始的工作簿中。保存此新工作簿,您也可以在下个月重新使用它。(或者你可以在同一个工作簿中使用不同的工作表,但如果你将公式化版本保存为一个新的、单独的工作簿,那么任何人查看原始工作簿时都不会看到任何令人困惑的“额外内容”。)
一旦你有了这个权利,那可能就足够好了,因为你一个月只做一次,根本不需要代码!编写代码循环遍历特定列中的每个单元格并加/减1可以有很多方法,但也许一种使手动过程更快,更简单的方法就足够了!
但是如果您愿意,您可以使用您所拥有的作为概念证明,并继续
1.将复制和粘贴为值操作记录为宏,
1.调整宏代码以使用绝对地址而不是
ActiveWorksheet
然后你就可以每月打开新的工作簿,然后点击一个按钮。
或者,你可以为整个事情记录一个宏 (复制整个原始文件,将列更改为公式'value from original sheet ± 1',复制&粘贴为值回到原始文件中,然后删除工作副本,因为无论如何,你都想重新开始)。..但是如果你要这样做,那么可能值得编写代码来实现你在问题中提到的方法,直接递增值,而不是这种“模板化然后粘贴为值”的方法。