将 Excel 工作表中的整列数据复制到另一个工作表中(减去空白单元格)

将 Excel 工作表中的整列数据复制到另一个工作表中(减去空白单元格)

除了使用常规的复制和粘贴功能外,有没有办法在一个电子表格中查找整列(而不是单个单元格)中的数据并将其放在另一个电子表格中(减去空白单元格),这样它就会被压缩?

答案1

这是不使用宏或 VBA 的另一种方法:

  1. 选择列
  2. 转至主页 -> 查找并选择 -> 转至特殊内容
  3. 选择常量并确定
  4. 现在,仅选择具有值的单元格。
  5. 复制并粘贴。完成了!

答案2

这个小宏将复制列A工作表1到列A工作表2省略空格。请根据您自己的列和工作表名称调整代码:

Sub CopyNoBanks()
    Dim sh1 As Worksheet, s2 As Worksheet, i As Long
    Dim j As Long, N As Long, r1 As Range

    Set sh1 = Sheets("Sheet1")
    Set sh2 = Sheets("Sheet2")
    N = sh1.Cells(Rows.Count, "A").End(xlUp).Row
    j = 1

    For i = 1 To N
        Set r1 = sh1.Cells(i, "A")
        If r1.Value <> "" Then
            r1.Copy sh2.Cells(j, "A")
            j = j + 1
        End If
    Next i
End Sub

宏的安装和使用非常容易:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,宏将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx

要删除宏:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要使用 Excel 中的宏:

  1. ALT-F8
  2. 选择宏
  3. 触摸运行

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

必须启用宏才能使其工作!

相关内容