提示:其它语言是由 Google 机器翻译的。 你可以访问 English 版本。
登录
x
or
x
x
马上登记
x

or

如何将一个图表格式复制到Excel中的其他人?

假设工作表中存在多种不同类型的图表,您已根据需要格式化了一个图表,现​​在您要将此图表格式应用于其他图表。 当然,您可以一个一个地手动格式化其他人,但是这会浪费很多时间,您是否有任何快速或方便的方法将Excel图表格式复制到其他图表格式中?

使用选择性粘贴功能将一个图表格式复制到其他图表

通过创建模板将一个图表格式复制到其他图表

使用VBA代码将一个图表格式复制到其他图表

Office选项卡在Office中启用选项卡式编辑和浏览,使您的工作更轻松......
Kutools for Excel - 最佳办公生产力工具将解决您的大部分Excel问题
  • 重用任何东西: 将最常用或最复杂的公式,图表和其他任何内容添加到您的收藏夹中,并在将来快速重复使用它们。
  • 超过20文本功能: 从文本字符串中提取数字; 提取或删除部分文本; 将数字和货币转换为英语单词...
  • 合并工具:多个工作簿和表格合二为一; 合并多个单元格/行/列而不丢失数据; 合并重复行和总和...
  • 拆分工具:根据价值将数据拆分为多个表格; 一个工作簿到多个Excel,PDF或CSV文件; 一列到多列......
  • 粘贴跳过 隐藏/过滤行; 数和总和 按背景颜色; 创建邮件列表和 通过Cell的价值发送电子邮件...
  • 超级过滤器: 创建高级过滤方案并应用于任何工作表; 排序 按周,日,频率等; 筛选 通过大胆,公式,评论......
  • 超过300强大的功能; 适用于Office 2007-2019和365; 支持所有语言; 在公司轻松部署; 全功能60天免费试用。

箭头蓝色右泡 使用选择性粘贴功能将一个图表格式复制到其他图表


请看下面的屏幕截图,第一个图表具有您需要的格式,现在,您想将其格式应用于其他图表。

DOC-复制图表-format1

这个粘贴特殊功能可以帮助您将一个图表格式复制到其他图表,具体步骤如下:

1。 选择您要将其格式复制到其他人的图表。

2。 然后在主页选项卡上单击 复制,看截图:

DOC-复制图表-format1

3。 然后选择另一个要重新格式化的图表,然后单击 主页 > > 选择性粘贴,并在弹出的对话框中检查 格式 选项。 查看屏幕截图:

DOC-复制图表-format3 -2 DOC-复制图表-format4

4。 然后点击 OK,并且图表格式已应用于此图表,然后对要重新格式化的每个图表重复此过程。 最后你会得到以下结果:

DOC-复制图表-format1


箭头蓝色右泡 通过创建模板将一个图表格式复制到其他图表

您还可以将格式化图表保存为图表模板,然后将其他图表类型更改为模板图表类型。

1。 选择你需要的格式图表,在 设计 标签,点击 另存为模板,看截图:

DOC-复制图表-format1

2。 在 保存图表模板 窗口中,为模板图表指定一个名称,然后单击 保存。 它将与其余的图表类型一起保存在a中 模板 文件夹时,可以在创建新图表时选择它。

DOC-复制图表-format1

3。 创建模板图表后,您可以将其他图表类型更改为该模板,选择需要重新格式化的图表并单击右键,选择 更改图表类型 从上下文菜单中,看截图:

DOC-复制图表-format1

4。 在 更改图表类型 对话框中,单击 模板 从左侧窗格中选择,然后选择您创建的图表模板 我的模板 选项。

DOC-复制图表-format1

5。 然后点击 OK 关闭此对话框,并将图表的格式复制到此选定图表。 看截图:

DOC-复制图表-format1

6。 然后重复上述步骤3- step5将格式逐一复制到其他图表。


箭头蓝色右泡 使用VBA代码将一个图表格式复制到其他图表

使用上述两种方法,如果需要重新格式化多个图表,则必须逐个粘贴或更改图表的格式,以下VBA代码可以帮助您在当前工作表中一次将一种图表格式应用于其他图表格式。

1。 选择您想要将其格式应用于其他图表的图表。

2。 按住 ALT + F11 键打开 Microsoft Visual Basic for Applications窗口.

3。 点击 插页 > 模块,并粘贴在下面的宏 模块窗口:

VBA代码:一次将一个图表格式复制到其他图表

Sub CopyChartFormats()
'Updateby20140219
Dim Ws As Worksheet
Dim Cht As ChartObject
Dim xChart As Chart
Dim bTitle As Boolean
Dim bXTitle As Boolean
Dim bYTitle As Boolean
Dim sTitle As String
Dim sXTitle As String
Dim sYTitle As String
Dim iSource As Long
Dim iTarget As Long
Dim iTotal As Long
Dim iSeries As Long
Dim vSource As Variant
Dim vTarget As Variant
Application.ScreenUpdating = False
Set xChart = Application.ActiveChart
iSource = xChart.SeriesCollection.Count
Set Ws = Application.ActiveSheet
  For Each Cht In Ws.ChartObjects
    If Ws.Name = xChart.Parent.Parent.Name And _
        Cht.Name = xChart.Parent.Name Then
    Else
      With Cht.Chart
       iTarget = .SeriesCollection.Count
        bTitle = .HasTitle
        If bTitle Then
          sTitle = .ChartTitle.Characters.Text
        End If
        If .HasAxis(xlCategory) Then
          bXTitle = .Axes(xlCategory).HasTitle
          If bXTitle Then
            sXTitle = .Axes(xlCategory).AxisTitle.Characters.Text
          End If
        End If
        If .HasAxis(xlValue) Then
          bYTitle = .Axes(xlValue).HasTitle
          If bYTitle Then
            sYTitle = .Axes(xlValue).AxisTitle.Characters.Text
          End If
        End If
        xChart.ChartArea.Copy
        .Paste Type:=xlFormats
        iTotal = .SeriesCollection.Count
        If iTotal = iSource + iTarget Then
          For iSeries = 1 To iTarget
            vSource = Split(.SeriesCollection(iSeries).Formula, ",")
            vTarget = Split(.SeriesCollection(iSeries + iSource).Formula, ",")
            vTarget(UBound(vTarget)) = vSource(UBound(vSource))
            .SeriesCollection(iSeries).Formula = Join(vTarget, ",")
          Next
          For iSeries = iTotal To iTarget + 1 Step -1
            .SeriesCollection(iSeries).Delete
          Next
        End If
        If bXTitle Then
          .Axes(xlCategory).HasTitle = True
          .Axes(xlCategory).AxisTitle.Characters.Text = sXTitle
        End If
        If bYTitle Then
          .Axes(xlValue).HasTitle = True
          .Axes(xlValue).AxisTitle.Characters.Text = sYTitle
        End If
                If bTitle Then
          .HasTitle = True
          .ChartTitle.Characters.Text = sTitle
        End If
      End With
    End If
  Next
Application.ScreenUpdating = True
End Sub

4. 然后按 F5 键以运行此代码,并且当前工作表中的所有其他图表立即应用所选图表的格式。


相关文章:

如何在Excel中将图像添加到图表中?

如何将箭头添加到Excel中的线条/柱状图?


Kutools for Excel - 最佳办公生产力工具提高80%的生产力

  • 重用: 快速插入 复杂的公式,图表 以及你以前用过的任何东西; 加密单元格 密码; 创建邮件列表 并发送电子邮件...
  • 超级方程式酒吧 (轻松编辑多行文字和公式); 阅读布局 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不丢失数据; 分裂细胞含量; 组合重复的行/列...防止重复的细胞; 比较范围...
  • 选择复制或唯一 行; 选择空行 (所有细胞都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择......
  • 精确复制 多个单元格而不更改公式参考; 自动创建参考 多张表; 插入项目符号,复选框等等......
  • 提取文本,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级过滤器 (将过滤方案保存并应用到其他工作表); 高级排序 按月/周/日,频率等; 特殊过滤器 用粗体,斜体......
  • 结合工作簿和工作表; 根据键列合并表; 将数据拆分为多个表格; 批量转换xls,xlsx和PDF...
  • 超过300强大的功能。 支持Office / Excel 2007-2019和365。 支持所有语言。 在您的企业或组织中轻松部署。 全功能60天免费试用。
kte tab 201905

Office选项卡为Office提供选项卡式界面,使您的工作更轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,Publisher,Access,Visio和Project。
  • 在同一窗口的新选项卡中打开并创建多个文档,而不是在新窗口中。
  • 通过50%提高您的工作效率,每天为您减少数百次鼠标点击!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ruta · 2 years ago
    Hello, Thank you for the code!
    However this line 20 makes a bug for me: iSource = xChart.SeriesCollection.Count
    I would appreciate your help!

    Thank you,
    Ruta
  • To post as a guest, your comment is unpublished.
    Melissa · 3 years ago
    hello. this works for me, to a degree. the format applies to my new chart just fine, but i also get the data from the first chart, that overrides my new chart data. more clearly, i have done chart 1 and love it! i also have chart 2, and don't love it. i want chart 2 to be formatted like chart 1. i click and copy chart 1. i click on chart 2, click paste>paste special>formats. now chart 2 has the appropriate format, but also has the data from chart 1. some chart 2 data remains, some has been replaced by chart 1 data. how do i only get format, not data?

    thank you!!