修复Microsoft Excel无法粘贴数据的9种方法
在这里找到快速解决方案来修复“Microsoft Excel 无法粘贴数据”错误,当您从不同的 Excel 工作簿、工作表或第三方应用程序源复制和粘贴数据时。
Excel 无法粘贴数据的错误可能很少见,但如果在处理重要报告时不断出现,则绝对令人讨厌。您可能会想知道为什么 Excel 无法粘贴数据,而它是最流行的电子表格软件。错误背后可能有很多原因,但修复确实很容易。继续阅读以了解所有内容!
推荐:在Windows 11中修复蓝牙音频延迟的方法
插入更多列
当您导入或复制包含比目标工作表更多的列的大型数据集时,您会在 Excel 中看到以下复制粘贴错误:
没有足够的列来接受您尝试粘贴的信息。
要处理此错误消息,只需取消粘贴过程或在看到的警告上按“确定”。然后,按照以下步骤解决问题:
- 点击任意 列标题 喜欢 A, 乙, C, 或者 德, 和 右键点击。
- 选择 插入 在上下文菜单上。
- Excel 会将选定的列向右移动并在其位置插入一个新列。
- 重复此过程,直到在工作表上添加足够的空白列以容纳您想要在此处粘贴的数据集。
- 现在,重新尝试粘贴数据,这次您将不会看到错误。
需要在 Excel 工作表中插入多列?您可以使用以下 Excel VBA 代码。您还将学习创建 VBA 宏并在 Excel 上运行它的步骤:
- 打开要插入新列的 Excel 工作簿。
- 通过按调用 Excel VBA 编辑器 Alt + F11 键组合在一起。
- 在工具栏上 VBA 编辑器, 点击 插入 并选择 模块 插入新模块。
- 将以下代码粘贴到模块的代码窗口中。
Sub InsertColumns()
Dim ws As Worksheet
Dim insertRange As Range
' Set the worksheet where you want to insert the new columns
Set ws = ThisWorkbook.Worksheets("Sheet1") ' Replace "Sheet1" with your desired worksheet name
' Set the range where you want to insert the new columns
Set insertRange = ws.Range("A1") ' Replace "A1" with the starting cell of your desired range
' Insert 5 new columns at the specified range
insertRange.Resize(, 5).Insert Shift:=xlToRight
End Sub
- 修改
ws
变量来指定所需的工作表。例如,您可以替换"Sheet1"
与您的工作表的名称一起。 - 修改
insertRange
变量来指定所需范围的起始单元格。例如,您可以替换"A1"
与您想要开始插入新列的单元格一起。 - 如果需要超过 5 列,请替换数字
5
在上面的代码中添加您选择的数字。 - 节省 代码并关闭 Excel Visual Basic 编辑器。
- 按以下方式运行宏 Alt + F8,选择 InsertColumns 宏,然后单击 跑步 按钮。
Excel 将在上述 VBA 脚本中所选单元格的左侧插入五列新列。
笔记: 通过使用任何 VBA 宏,您都会对工作表进行不可逆转的更改。因此,在使用本文中的任何 VBA 代码之前,请先备份工作表。
另请阅读:如何使用在线找到的 VBA 代码
解决单元格格式不匹配问题
在从其他来源粘贴大型数据集之前,请确保单元格格式与您复制到的内容相似。您可以按照以下方法完成此操作:
- 选择需要更改单元格格式的一列或多列。
- 按 Ctrl + 1 打开 格式化单元格 对话框。
- 从左侧菜单中选择所需的类别。
- 您可以选择 数字, 货币, 文本等,根据源数据集进行格式化。
- 点击 好的 应用更改。
如果您从其他工作表粘贴的数据集较小,则此方法是可行的。 如果它是一个巨大的数据集,您可以通过使用此 Excel VBA 脚本创建并运行 VBA 宏来自动化该过程:
Sub FormatCellRanges()
Dim SourceRange As Range
Dim DestinationRange As Range
Dim SourceCell As Range
Dim DestinationCell As Range
Dim Format As Variant
' Set the source range (the range containing the formatting to be matched)
Set SourceRange = Range("A1:A10") ' Replace with your desired source range
' Set the destination range (the range where the formatting will be applied)
Set DestinationRange = Range("B1:B10") ' Replace with your desired destination range
' Loop through each cell in the source range
For Each SourceCell In SourceRange
' Find the corresponding cell in the destination range
Set DestinationCell = DestinationRange.Cells(SourceCell.Row, SourceCell.Column)
' Copy the formatting of the source cell to the destination cell
SourceCell.Copy
DestinationCell.PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
Next SourceCell
End Sub
创建宏并运行它的过程与本文上面所述相同。在使用此代码之前,请确保进行以下更改:
SourceRange = Range("A1:A10")
:在此代码元素中,输入源引用。DestinationRange = Range("B1:B10")
: 这里Range("B1:B10")
指示 Excel 将数据粘贴到单元格中range B1:B10
. 根据目标单元格范围进行更改。
选择与复制数据大小相同的单元格区域
有时您无法在 Excel 中复制数据并收到以下错误或警告消息:
“复制区域和粘贴区域的大小和形状不一样。“
如果您尝试将数据集(例如 A1:E100)复制到目标范围 F1:I100,则此错误将显示在您的工作表上。Excel 应该会自动调整目标单元格范围,但有时可能不会这样做。要解决此问题,请按照以下说明操作:
- 计算您正在复制的源数据集的列标题。
- 现在,相应地突出显示复制数据的目的地。请参见下图以了解详情:
取消合并单元格区域
假设您尝试将数据集复制并粘贴到与附近单元格合并的目标单元格中。 然后,您将看到以下错误代码:
要解决此问题,您必须取消合并目标单元格范围内的单元格。您应该遵循以下步骤:
- 突出显示必须复制数据集的目标单元格范围。
- 按下键盘上的以下键来取消合并工作表上突出显示的部分:
Alt > H > M > U
有时,如果问题存在于多个工作表或工作簿中,您可能需要多次执行此操作。在这种情况下,使用以下 VBA 脚本自动取消合并突出显示区域中的合并单元格。
Sub UnmergeSelectedRange()
Dim rng As Range
Dim mergedCells As Range
Dim cell As Range
' Check if a range is selected
If TypeName(Selection) "Range" Then
MsgBox "Please select a range before running this macro.", vbInformation
Exit Sub
End If
Set rng = Selection
' Loop through each cell in the selected range
For Each cell In rng
' Check if the cell is merged
If cell.MergeCells Then
' Store the merged cells range
If mergedCells Is Nothing Then
Set mergedCells = cell.MergeArea
Else
Set mergedCells = Union(mergedCells, cell.MergeArea)
End If
End If
Next cell
' Unmerge the merged cells range, if any
If Not mergedCells Is Nothing Then
mergedCells.UnMerge
End If
End Sub
推荐:如何修复卷影复制服务在 Windows 中不工作的问题
使用选择性粘贴粘贴数据
假设您尝试从信息图、网站或 Word 文档复制数据集。您可能也会在此处收到“Microsoft Excel 无法粘贴数据”错误。但是,在从外部源复制数据或内容时,您可以使用 Excel 的“选择性粘贴”工具来消除错误。以下是简单的步骤:
- 从源复制内容或数据。
- 转到工作表并选择要粘贴复制数据的单元格。
- 右键点击 并将光标悬停在 特殊粘贴 溢出菜单。
- 前往 其他粘贴选项 部分并选择 图片。
- Excel 会将数据或内容粘贴为图片。
启用忽略动态数据交换
动态数据交换 (DDE) 协议是一组准则和消息,可让 Windows PC 上的不同应用程序共享同一内存池中的数据。这还允许更新使用 DDE 相互导入数据的所有应用程序中的数据集。
如果在 Excel 工作表中粘贴大型数据集时遇到问题,可以启用“忽略 DDE”设置。一些用户报告说这个技巧也有效。您可以这样做:
- 点击 文件 Excel 工作表上的选项卡。
- 选择 选项 侧边栏上的按钮。
- 这 Excel 选项 将打开对话框。
- 点击 先进的 类别。
- 向下滚动到 一般的 右侧部分,选择选项 忽略 DDE…
- 点击 好的 并关闭对话框。
现在,您可以再次尝试复制并粘贴数据
以 XLSX 格式保存 Excel 文件
最新的 Excel 桌面应用程序(例如 Excel 2019、Excel 2021 和 Excel for Microsoft 365)将所有 Excel 工作簿保存为 XLSX 文件。但是,您可能会从同事或客户那里获得 XLS 格式的 Excel 工作簿。如果您尝试复制并粘贴包含 65,536+ 行的大型数据集,您将收到错误。要解决此问题,您必须按照以下步骤将 XLS 文件转换为 XLSX:
- 点击 文件 选项卡并选择 另存为 在侧边栏上。
- 点击 浏览 按钮下方 另存为 部分。
- 选择目标目录 另存为 对话框。
- 点击 保存类型 下拉菜单并选择 扩展数据格式 作为目标格式。
- 点击 节省。
修复Excel文件
有时,由于 Excel 文件本身存在问题,Excel 无法复制和粘贴数据。要检查是否可以通过修复来解决问题,请尝试以下步骤:
- 关闭工作表。
- 单击 Excel 图标打开 Excel 开始 菜单。
- 将打开一个空白的 Excel 工作表。单击 文件 标签。
- 点击 打开 在侧边栏上。
- 打 浏览 按钮。
- 转到有故障的工作簿的目录并选择该文件。
- 点击 落下 箭头上的 打开 按钮并选择 打开和修复。
- 打 维修 在出现的弹出窗口中。
- Excel 将打开该文件,修复它,并显示此对话框:
- 点击 关闭 以完成该过程。
现在您已尝试修复 Excel 文件,请尝试复制并粘贴您的数据集,看看 Excel 是否可以粘贴数据。
以安全模式重新启动 Excel 桌面应用程序
当 Excel 加载项干扰软件功能时,您还可能会遇到“Microsoft Excel 无法粘贴数据”错误。要解决此问题,您需要在不加载已安装的加载项的情况下启动 Excel。实现此目的的最佳方法是以安全模式启动 Excel 桌面应用程序。您可以按照以下步骤操作:
- 关闭 Excel 工作簿。
- 选择其目录中的 Excel 文件。
- 按 Ctrl 钥匙和 双击 Excel 文件以将其打开。
- 如果第一次尝试没有得到回应, 双击 再次。不要释放 Ctrl 密钥尚未被激活。
- Excel 将显示有关在安全模式下重新启动的警告。
- 点击 是的 以安全模式启动应用程序。
现在,尝试复制并粘贴数据集,看看问题是否已解决。如果您能够复制数据,请保存文件。下次,正常打开文件以加载 Excel 插件。
如果您在正常模式下继续遇到该问题,请卸载任何最近安装的 Excel 插件以彻底解决该问题。
结论
因此,这些都是修复“Microsoft Excel 无法粘贴数据”错误的可行且可靠的方法。按出现的顺序尝试这些方法,以减少故障排除的时间。在下面发表评论,让其他读者知道哪种方法对您有用。
你以前遇到过这个问题吗?你是如何解决这个问题的?请在评论中告诉我!