如何在Excel中只复制粘贴非空单元格?


通常,在Excel中,列表可能包含或不包含空单元格,当我们只想复制包含值的单元格时,可以使用本教程中提到的方法。如果我们尝试以默认方式复制粘贴,则默认情况下也会复制空单元格。如果手动操作,则会非常耗时。阅读本教程,了解如何在Excel中仅复制粘贴非空单元格。

使用VBA复制粘贴仅非空单元格

首先,我们将打开VBA应用程序,然后插入一个模块,将代码复制到其中,最后运行代码以完成我们的任务。让我们来看一个简单的过程,了解如何使用VBA应用程序复制粘贴仅非空单元格。

步骤1

考虑一个数据类似于下图的Excel表格。现在右键单击工作表名称并选择“查看代码”以打开VBA应用程序,然后单击VBA应用程序中的“插入”,然后单击“模块”。

右键单击 > 查看代码 > 插入 > 模块

步骤2

在下图所示的文本框中输入以下程序代码。

程序

Sub PasteNotBlanks()
'Updated By Nirmal
Dim rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "Copy Non blank"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
If InputRng.Columns.Count > 1 Then
    MsgBox "Please select one column."
    Exit Sub
End If
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
InputRng.SpecialCells(xlCellTypeConstants).Copy Destination:=OutRng.Range("A1")
End Sub

步骤3

然后将工作表另存为宏启用工作簿,单击F5,选择要复制的单元格范围,然后单击“确定”。

保存 > F5 > 范围 > 确定

步骤4

然后选择要在其中创建输出的单元格,然后单击“确定”。

输出单元格 > 确定

结论

在本教程中,我们使用了一个简单的示例来演示如何在Excel中仅复制粘贴非空单元格。

更新于:2023年3月7日

1K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告