【发布时间】:2021-05-28 11:56:51
【问题描述】:
我尝试编写非常简单的脚本来复制原始工作表 (ORIGINAL_NOCHANGE) 并仅粘贴其他工作表的格式。 在 ORIGINAL_NOCHANGE 中,有些列合并在一起,有些列具有条件格式。
这是 ORIGINAL_NOCHANGE 的原始结构:
COPY1 和 COPY2 是 ORIGINAL_NOCHANGE 的副本,但没有原始格式(我的 Python 脚本无法复制 Excel 格式)。
在我运行我的 VBA 脚本之后:
Sub TrySecond()
Dim ws As Worksheet
'Worksheets("ORIGINAL_NOCHANGE").Activate
Worksheets("ORIGINAL_NOCHANGE").Range("A1:AA71").Copy
For Each ws In Worksheets
If ws.Name <> "ORIGINAL_NOCHANGE" Then
'ws.Range("AC1") = "Are You Kidding Me"
Range("A1:P17").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End If
Next
End Sub
ORIGINAL_NOCHANGE 已更改为这种结构,我真的不想要:
但是在 COPY1 和 COPY2 中什么也没发生!
请注意,我的 python 脚本将复制数百个 ORIGINAL_NOCHANGE 工作表,但由于内部包的限制,它无法复制格式。 放在这里可能有人建议我手动复制原件。
我不确定我的脚本有什么错误。你能帮忙吗?
非常感谢!
【问题讨论】:
-
您必须使用
ws.Range("A1:P17").Select引用当前工作表(在循环中)(注意ws)。但我认为这不会产生你想要的结果。最好的方法可能是复制工作表,重命名并清除其内容。试着澄清你想要什么,例如通过发布COPY1和COPY2应该是什么样子的图像。