在Microsoft Excel中复制列宽的6种方法
您是否发现重新调整从 Excel 工作表或表格中复制的数据的列宽很困难?您是否知道在复制单元格或单元格区域时也可以复制 Excel 中的列宽?
Excel 是一款功能强大的工具,可简化您的数据结构和组织任务。有时,即使是最简单的操作也会让您头疼。其中一个常见的挑战是复制列宽。
如果您曾经花费宝贵的时间手动调整列宽以匹配不同的工作表或工作簿,那么现在就不必再担心了!在本文中,我们将揭开在 Excel 中轻松复制列宽的秘诀。
了解实用的技巧、快捷方式和技巧,以确保列宽一致,从而节省您宝贵的时间并避免烦恼。无论您是初学者还是经验丰富的 Excel 用户,本指南都将帮助您轻松高效地攻克这一常见的 Excel 难题。
推荐:什么是Excel兼容模式
Excel 中的复制列宽是什么?
Excel 中的复制列宽是指复制一列的宽度测量值并将其应用到另一列的过程。列宽决定了分配给特定列中显示数据的空间量。
处理大型数据集或多个工作表时,手动调整列宽以匹配可能非常耗时。通过复制列宽,您可以确保各列的一致性和统一性,从而增强 Excel 电子表格的视觉吸引力和可读性。
这种技术消除了重复调整大小的需要并节省了宝贵的时间,使您能够专注于有效地分析和处理数据。
例如,如果您从以下数据集复制 A1:C7
到 E1:G7
,您将获得复制数据的以下视图:
复制的内容不可见。因此,您需要通过双击每个列标题的边缘来手动调整列宽。或者您也可以拖动列宽。对于三列来说,这看起来还不错,但当有数百列时,这是一项艰巨的任务。
在这种情况下,您可以利用本文介绍的技巧根据源数据集或表自动匹配目标单元格范围或工作表中的列宽。这是一个例子:
通过复制整列来复制列宽
如果您需要快速将列宽从源复制到目标,请将整个列复制到目标工作表或同一工作表上的列。操作方法如下:
- 单击第一个列标题
(A)
源数据。 - 按 转移 钥匙。
- 单击最后一列标题
(C)
源数据。 - 右键点击 并选择 复制 在上下文菜单上。
- 选择第一个列标题
(E)
目的地。 - 按 Ctrl + 五 复制数据以及列宽。
使用格式刷工具复制 Excel 中的列宽
在目标列中应用源列的列宽的另一种简单方法是使用 格式刷 工具。您也可以按照以下步骤操作:
- 选择列标题
(A)
源的。 - 点击 格式刷 工具里面 剪贴板 块的 家 标签。
- 现在,单击列标题
(E)
目标列。 - Excel 将复制列宽并将其应用于目标列。
使用选择性粘贴在 Excel 中复制列宽
这 特殊粘贴 Excel 工具提供了多种复制和粘贴数据的模式。其中一种模式是将数据与源列宽一起复制。以下是学习此方法的步骤:
- 选择要复制到另一个工作表的数据集或表的单元格范围或同一工作表的单元格范围。
- 打 Ctrl + C 键将数据复制到剪贴板。
- 突出显示目标单元格区域或工作表的第一个单元格。
- 右键点击 并将鼠标光标悬停在 特殊粘贴 选项。
- 在下面 粘贴 块,点击第六个粘贴选项,上面写着 保持源列宽。
- 您应该获得目标单元格范围内的复制数据以及源列宽。
推荐:如何更改TikTok上的语言
使用快捷方式复制 Excel 中的列宽
假设您已将数据复制到目标。现在,您还想应用源列宽。在这种情况下,您可以使用一系列键盘键,而不是单击 Excel 用户界面。操作方法如下:
- 选择源数据的单元格区域并按 Ctrl + C 复制它。
- 现在,突出显示目标单元格地址的第一个单元格,然后按给定的顺序按下以下键:
Alt > 埃 > 年代 > 西 > 进入
- Excel 将通过从源数据集复制列宽来格式化目标数据集。
使用 Excel VBA 复制 Excel 中的列宽
到目前为止提到的方法虽然可以自动复制列宽,但仍需要按几个键。因此,如果您想将源数据集的列宽应用到目标工作表或单元格范围,您必须记住这些键。
此外,当您使用 Excel VBA 来自动执行其余数据组织过程时,您无法真正将其集成为自动化工作流程。在这种情况下,您需要一个 VBA 脚本来将源列宽导出到您正在复制数据的新目标。
您可以使用以下两个 VBA 脚本:
只需复制列宽
您可以使用此代码将源列宽度应用于目标列。例如,您从 A1:C7
到 E1:G7
。现在,您想将 A 列的列宽仅应用于 E 列,而不应用于所有其他列。在这种情况下,请按照以下步骤操作并使用以下 VBA 脚本:
- 打 Alt + F11 提出 Excel VBA 编辑器 在您正在处理的工作表上。
- 现在,点击 插入 按钮 VBA 编辑器 工具栏并选择 模块。
- 这将创建一个空白模块,您需要在其中复制并粘贴以下 VBA 脚本:
Sub CopyColumnWidth()
Dim sourceColumn As Range
Dim targetColumn As Range
' Set the source column
Set sourceColumn = Range("A:A") ' Replace "A:A" with the desired source column
' Set the target column
Set targetColumn = Range("E:E") ' Replace "E:E" with the desired target column
' Copy the column width
targetColumn.ColumnWidth = sourceColumn.ColumnWidth
End Sub
- 在上面的 VBA 代码中,如果源单元格范围和目标单元格范围与本教程中显示的数据不同,请确保自定义以下内容:
Range("A:A")
表示源列的列宽,因此请根据您的工作表更改范围。Range("E:E")
是要根据源列调整其宽度的目标列。因此,也请更改此列。
- 修改完代码后,点击 节省 按钮并关闭 VBA 编辑器工具。
- 打 Alt + F8 提出 宏 对话框并选择 复制列宽() 宏。
- 点击 跑步 按钮。
- Excel 应该自动修复目标列的列宽。
复制列宽和数据
如果要自动将数据集从一个单元格区域复制到另一个单元格区域并保留源数据区域的列宽,请尝试使用此 VBA 代码:
Sub CopyDataWithColumnWidths()
Dim sourceRange As Range
Dim targetRange As Range
Dim sourceColumns As Range
Dim targetColumns As Range
Dim i As Long
' Set the source range
Set sourceRange = Range("A1:C7")
' Set the target range
Set targetRange = Range("E1:G7")
' Copy the data
sourceRange.Copy Destination:=targetRange
' Set the source columns
Set sourceColumns = Range("A:C") ' Replace "A:C" with the desired source columns
' Set the target columns
Set targetColumns = Range("E:G") ' Replace "E:G" with the desired target columns
' Copy the column widths
For i = 1 To sourceColumns.Columns.Count
targetColumns.Columns(i).ColumnWidth = sourceColumns.Columns(i).ColumnWidth
Next i
End Sub
上述代码将自动复制单元格范围内可用的数据集 A1:C7
到 E1:G7
。此外,代码会将源列的列宽复制到目标列。
您要复制的数据集可能不在上述单元格范围内。此外,您可能希望将数据复制到与上述单元格范围不同的单元格范围内。
因此,请根据您自己的 Excel 工作表和要求修改以下代码元素:
Range("A1:C7")
应该是您要复制的数据的地址范围。Range("E1:G7")
是您要复制源数据的位置。因此,也请修改此位置。Range("A:C")
应为源列的范围。如果您要从B10:D20
,列范围应为Range("B:D")
。Range("E:G")
是目标单元格区域的列区域。因此,如果您不在目标单元格区域之间复制数据,则也必须修改此值。 E 栏 和 G。
代码准备好后,按照前面提到的方法创建一个模块并将代码粘贴到那里。然后保存脚本并从 宏 对话框。
使用 Office 脚本复制 Excel 中的列宽
由于您无法使用 Excel VBA 方法在 Excel 网页应用程序中自动执行复制列宽任务,因此我介绍了另一种基于 办公室脚本。
Office 脚本可让您自动执行 Excel 桌面和 Web 应用程序上的各种操作,并且提供比 Excel VBA 更好的选项。
但是,只有当您获得 Microsoft 365 商业标准版和更好的订阅时,此功能才可用。如果您在 Excel 桌面或 Web 应用程序上看到“自动化”选项卡,则可以使用 Office 脚本。
以下步骤将帮助您利用 Excel 功能自动完成当前挑战:
- 点击 自动化 Excel 桌面或 Web 应用程序上的选项卡。
- 选择 新脚本 选项里面 脚本工具 堵塞。
- 办公室脚本 代码编辑器 将出现在右侧。
- 单击代码编辑器面板并点击 Ctrl + A 选择所有代码。
- 打 删除 键来删除现有的代码。
- 现在,复制并粘贴以下代码到 代码编辑器 控制板:
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Paste to range D1 on selectedSheet from range A1:B7 on selectedSheet
selectedSheet.getRange("D1").copyFrom(selectedSheet.getRange("A1:B7"), ExcelScript.RangeCopyType.all, false, false);
// Paste to range D:E on selectedSheet from range A:B on selectedSheet
selectedSheet.getRange("D:E").copyFrom(selectedSheet.getRange("A:B"), ExcelScript.RangeCopyType.formats, false, false);
}
- 点击 保存脚本 按钮以便将来重复使用该代码。
- 打 跑步 按钮来执行代码。
Excel 将自动复制单元格区域的值 A1:B7
到 D1:E7
并应用列宽 列A 和 乙 到 D 列 和 埃。
在上面的代码中,如果您当前的工作表数据不是按照上面的例子来组织的,那么您需要修改以下代码元素:
range D1
:目标第一列的第一个单元格range A1:B7
:源数据的范围和列宽getRange("D1")
:D1
到任意单元格地址,该地址将是目的地的第一个单元格getRange("A1:B7")
:A1:B7
表示源数据和列宽的任意单元格范围getRange("D:E")
:将应用源列宽度的目标列;相应更改getRange("A:B")
:复制源列的列宽;根据你的数据集进行更改
结论
在 Excel 中构建和组织数据不应该很复杂或耗时。您需要做的就是了解一些技巧,以便轻松地重新构建复制的数据,如上文所述。
在这里,您学习了几种将列宽从源工作表或 Excel 表格。
使用适合您需求的方法,并在下面发表评论,分享您在 Excel 中使用上述技巧的经验。如果您还知道更好的方法来实现相同的目的,请随时发表评论