我有一个 Excel 文件“Book1”,其中在“Sheet1”上启用了条件格式。
条件规则基于公式。例如,如果 A 列中的值为偶数,则将整行突出显示为蓝色。
这样,我就可以创建奇数行和偶数行高亮,类似于带状行,但在我的例子中,下一行可能会继续同一项目的数据,并且我希望单元格用相同的颜色填充同一项目。
现在,我想将这些数据移动到另一个文件或将其作为报告共享给某人,带有格式化的行,但不带有条件规则。
有没有办法做到这一点,而不用手动将所有行格式化为所需格式,然后删除条件格式?这基本上会花费我很多时间来更新所有格式选项,并且违背了条件格式的目的。
谢谢。
答案1
正如您在评论中所说,您不想使用 VBA,我建议您使用这种方法:
- 完成编辑原始工作簿并正常保存。
- 将此工作簿以不同名称保存为网页 (*.html)。(确认警告。)
- 使用 Excel 打开该 HTML 文件。
(文件 - 打开 - 它应该在最近,否则使用浏览) - 如果您有多个工作表:
单击第一个工作表的名称,然后按住 Shift 并单击最后一个工作表的名称。 - 打开“视图”选项卡并启用网格线。
- 将打开的工作簿保存为 Excel 工作簿 (*.xlsx)。
- (您现在可以删除 HTML 文件。)
这会使格式静态化,但也仅传输值,而不是用来获取它们的公式。
如果要保留公式,请执行以下操作:
- 切换到原始工作簿并打开第一个工作表。
- 标记所有内容并复制 ( CtrlA, CtrlC)。
- 切换回新的工作簿。
- 标记所有内容或选择 A1。
- 右击并选择“粘贴选项”下的“公式”(带有“fx”的剪贴板)。
或者,按CtrlV,然后立即Ctrl再次按 ,然后按F。 - 对每张工作表重复上述操作。
免责声明:
该方法是由阿希什·阿南德和杰利尔在Stackoverflow 帖子已经由我链接控制论游牧民族,我只是把它合并起来并添加了有关网格线的部分。
答案2
如果我理解正确的话,您想让您的条件格式在新的工作簿中“永久”,这意味着与值无关,对吗?
如果您不反对使用 VBA 来实现这一点,您可以调整下面的代码片段:
Public Sub MakeFormattingPermanent()
Dim currentCell As Range
For Each currentCell In Selection
currentCell.Interior.Color = currentCell.DisplayFormat.Interior.Color
Next
Selection.FormatConditions.Delete
End Sub
这专门适用于您当前选择的背景颜色,但可以通过替换Interior.Color
(例如Font.Bold
粗体格式或类似格式)轻松地适应其他内容。
因此,将所有内容从旧工作簿复制到新工作簿,在新工作簿上打开编辑器(AltF11),将代码粘贴到模块中ThisWorkbook
,选择单元格并按绿色“播放”符号启动子。然后只需将工作簿保存为标准.xlsx
,这样就不会保存代码。
免责声明:
我改编了以下代码:pooroldpedro 在 StackOverflow 上给出的答案。