excel - 复制没有背景颜色的 Excel 范围

标签 excel vba

我有一个将表格从 Excel 复制到 Word 的代码。

        If ThisWorkbook.Worksheets("OtherData").Range("N90").Value = True Then
          ThisWorkbook.Sheets("TableForOL").Range("B6:F16").Copy
            With wdRng
            Set rngPara = .Paragraphs.Last.Range
            rngPara.Style = "Data"
            rngPara.PasteExcelTable False, False, False
            .Tables(.Tables.Count).Range.Paragraphs.Indent
            .Font.Hidden = 0
            Set rngPara = Nothing
            End With
        Else
          ThisWorkbook.Sheets("TableForOL").Range("B6:F6").Copy
            With wdRng
            Set rngPara = .Paragraphs.Last.Range
            rngPara.Style = "Data"
            rngPara.PasteExcelTable False, False, False
            .Tables(.Tables.Count).Range.Paragraphs.Indent
            .Font.Hidden = 0
            Set rngPara = Nothing
            End With
        End If
该表在 Excel 中有一定的背景,即使在复制粘贴过程之后也可以很好地保留。但是我不想在 Word 中使用它。目前我必须使用:
ThisWorkbook.Sheets("TableForOL").Range("B6:F2621").Interior.ColorIndex = 0
那就是删除所有背景。
有没有办法以另一种方式做到这一点,这样背景颜色就会完全跟随 Word 文档,但会保持在 Excel 中的状态。

最佳答案

请尝试更改

rngPara.PasteExcelTable False, False, False
rngPara.PasteExcelTable False, True, False

关于excel - 复制没有背景颜色的 Excel 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63352770/

相关文章:

vba - 基于范围 VBA 的过滤列

arrays - 如何在 VBA 中一次为数组的某些元素分配相同的值?

c# - 为什么在使用 OleDb 导入 Excel 时忽略第一个空行

vba - 将 XLSX 工作表(多个)导出为带有嵌套 if 语句的单独 CSV 表

excel - 将 Excel 数据传输到 Unity

excel - 使用类的文本名称创建一个新对象

sql - 如何在不关闭防火墙的情况下允许未知 IP 地址访问 Azure SQL 数据库?

excel - 给定第一行字段中的特定枢轴项,获取第二行字段的给定枢轴项

excel - 将 vba 转换为 vb6 并创建 .dll - 如何 - 提示、技巧和风险

暴露给 VBA (COM) 的 C# 属性 : Run-time error '424' : Object required