gpt4 book ai didi

excel - vba excel如何在没有字体/颜色/背景颜色格式的情况下粘贴值

转载 作者:行者123 更新时间:2023-12-02 12:53:13 25 4
gpt4 key购买 nike

我有一个宏可以从一系列工作表中的每个工作表中复制摘要行。摘要行采用字体/字体颜色/背景颜色进行特殊格式化,但是当粘贴到“摘要表”中时,它只需要粘贴值而无需格式化。

For LoopIndex = StartIndex To EndIndex
' start in a task sheet
Sheets(LoopIndex).Select
CopiedCells = ActiveSheet.Range("A156:L156").Copy

' now move to Summary sheet
Sheets("Summary Sheet").Select
ActiveSheet.Range("A8").Select
ActiveCell.EntireRow.Insert

ActiveCell.PasteSpecial Paste:=xlPasteValues
' tried variations of: ActiveCell.PasteSpecial paste:=xlValues, operation:=xlPasteSpecialOperationNone

Application.CutCopyMode = False ' clears clipboard
Next LoopIndex

我所做的所有研究都表明 PastSpecial、xlValues、xlPasteValues 应该可以工作,但没有任何内容会剥夺格式,不知道我在这里做错了什么。它确实粘贴了值而不是引用的值,所以这很好。我有一个宏可以重置循环中的格式,但我想提高效率。我使用的是 Excel 2007。

最佳答案

这实在是太奇怪了!

原因是您正在复制、插入然后粘贴。尝试插入、复制然后粘贴:

'we must commence on the Summary Sheet
Sheets("Summary Sheet").Select
For LoopIndex = StartIndex To EndIndex

' insert the row before we start
ActiveSheet.Range("A8").Select
ActiveCell.EntireRow.Insert

' select the task sheet
Sheets(LoopIndex).Select
CopiedCells = ActiveSheet.Range("A156:L156").Copy

' now move to Summary sheet
Sheets("Summary Sheet").Select

ActiveCell.PasteSpecial Paste:=xlPasteValues
' tried variations of: ActiveCell.PasteSpecial paste:=xlValues, operation:=xlPasteSpecialOperationNone

Application.CutCopyMode = False ' clears clipboard
Next LoopIndex

无论如何,我在使用复制和粘贴时遇到了问题。这意味着当您的宏运行时,您无法执行其他操作。

由于它是一个固定范围,我建议这样做:

For LoopIndex = StartIndex To EndIndex
Sheets("Summary Sheet").Range("A8").EntireRow.Insert
For i = 1 To 12
Sheets("Summary Sheet").Cells(8, i) = Sheets(LoopIndex).Cells(156, i)
Next
Next

关于excel - vba excel如何在没有字体/颜色/背景颜色格式的情况下粘贴值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com