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

标签 excel vba paste

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

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/

相关文章:

excel - VBA Excel_比较和计数: Compare cells from two sheets and make a count for lateness

excel - VBA在用户窗体中动态创建多个文本框/组合框

xml - 如何在 Excel 2011 for Mac 中解析 XML?

selenium - 如何通过Selenium-webdriver和Java从剪贴板粘贴文本?

windows - 剪贴板复制操作 - 内容是谁的文件?

excel - 在Excel中查找具有多个匹配条件的ROW号

excel - VBA Excel - 在 VBA 中复制 Excel MAX 公式

python - 将数据框 reshape 为长格式 python

excel - 来自另一张纸的 ListFillRange

R 粘贴列表进行绑定(bind)