我需要在xlsm文件中创建一个新的工作表,它是来自同一个xlsm的另一个工作表的副本。这有点简单,但问题是,当我复制它时,它也不会复制表单和宏。这也是我想复制它的主要原因。
我试过以下几点:
import win32com.client
excel = win32com.client.Dispatch('Excel.Application')
excel.Visible = True
book = excel.Workbooks.Open(r"C:\Users\lbsme\Desktop\reprogramacao\modelo.xlsm", UpdateLinks=0)
model = excel.Worksheets('model')
sheet1 = book.Worksheets.Add()
sheet1.Name = 'Copy'
sheet1 = book.Worksheets('Copy')
model.Range("A1:CF128").Copy()
sheet1.Paste(sheet1.Range('A1'))而且效果很好..。有点..。它确实复制公式和部分形式,但不复制整个格式或按钮。
而且,在复制的时候,它一遍又一遍地显示相同的错误信息,我不知道为什么,因为除了显示的页之外,没有其他的页。即使我点击“对所有人都是”,它也会一次又一次地显示消息。我点击了大约11次。
我需要我的副本非常像模型,包括按钮。如何完美地复制或复制整张纸?
发布于 2022-01-26 20:48:24
这个简单的代码复制了整个工作表。
Sheets("mysheet").Copy After:=Sheets("myothersheet")无论哪种方式,我猜您已经知道您可以只需右键单击“工作表”选项卡,然后单击“移动或复制”。
如果宏在同一个工作簿中,我看不出复制宏有什么意义.如果你想复制粘贴宏的代码来修改其中的一个,你只需要复制粘贴它,或者如果它真的是你经常做的事情,而且它是重复的,你只需要使用python库来编写宏,或者.我发现它直接从excel复制vba代码:
如果这是有用的,请将其设置为正确的答案!:)祝您愉快!
https://stackoverflow.com/questions/70869584
复制相似问题