在没有剪贴板的情况下从 database/excel 连接复制过滤后的数据

Copy filtered data from database/excel connection without clipboard

我有一个很大的 excel 文件。在第二个中,我创建了一个 database/excel 与 excel 的连接以获取数据(数据 => 来自 Excel 文件 => 加载)。因此,我的第二个文件如下所示:

现在我只想 select 那些 Column3 (C) 不为空的条目。所以我点击过滤器,结果是:

这就是我想要的。但是,我现在想将这些数据复制到新的 sheet,但是我不想使用复制和粘贴作为值或 ctrl c 和 ctrl v,因为我怀疑我有大数据剪贴板无法保存足够的值,数据丢失。 (此外,这并不是真正可追踪的,但这是一个小问题。)

所以我的第一个问题是:如何将此 database/excel 连接数据转换为“正常 table”数据,仅包含那些 c 列不为空的记录,避免任何剪贴板/ctrl c ctrlv 解决方案?

我的第二个问题是关于我试图实现这一目标的方法: 如果数据是“普通数据”格式,而不是 database/excel 文件连接,我可以使用一个简单的 vba 代码:

Sub remove()
Application.ScrenUpdating = False
Columns("C:C").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.SreenUpdating = True
End Sub

这适用于普通数据。但如果它是 database/excel 连接,我会收到错误消息。有没有办法将此工作应用于此“database/excel 连接数据格式”?

来自工作簿的 Power Query

尝试以下操作:

  • Excel、select、Data > Get Data > From File > From Workbook和select一个文件和selectImport.
  • 在打开的Navigatorwindow中,在左侧选择一个工作表,然后在右下角按EditPower Query Editor 打开。
  • 如果列的空单元格显示为 null,则 right-click 列 header 并选择 Replace Values
  • 在打开的Replace Valueswindow中,在Value To Find文本框中输入null,然后按OK
  • 单击 header 和 select Remove Empty 列右侧的过滤器箭头。
  • Power Query Editor、selectFile > Close & LoadPower Query Editor 关闭,数据被复制到新工作表中的 table。