excel - 表(已过滤)为空时的 DataBodyRange 副本
问题描述
我有数据库(excel表),其中包含我需要将评论复制到其他工作表的答案。每个问题的答案都在不同的列中。目前,如果有答案,我的代码可以正常工作。但如果没有,它会返回整个数据库。
因此,经过一些研究,我尝试了 If DataBodyRange Is Nothing 但看起来代码被忽略了。结果与没有这条线相同。
Sub Filter_Comments()
Dept = "Science"
WS = "Comments"
'1st question comments
Worksheets("Database").ListObjects("Table1").Range.AutoFilter Field:=21, Criteria1:=Sheets("Dashboard").Range("A7").Value
Worksheets("Database").ListObjects("Table1").Range.AutoFilter Field:=6, Criteria1:=Dept
Worksheets("Database").ListObjects("Table1").Range.AutoFilter Field:=8, Criteria1:="<>"
If Not Worksheets("Database").ListObjects("Table1").ListColumns(1).DataBodyRange Is Nothing Then
Worksheets("Database").ListObjects("Table1").ListColumns(6).DataBodyRange.Copy
Worksheets(WS).Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Worksheets("Database").ListObjects("Table1").ListColumns(8).DataBodyRange.Copy
Worksheets(WS).Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Worksheets("Database").ListObjects("Table1").Range.AutoFilter
End If
'2st question comments
Worksheets("Database").ListObjects("Table1").Range.AutoFilter Field:=21, Criteria1:=Sheets("Dashboard").Range("A7").Value
Worksheets("Database").ListObjects("Table1").Range.AutoFilter Field:=6, Criteria1:=Dept
Worksheets("Database").ListObjects("Table1").Range.AutoFilter Field:=10, Criteria1:="<>"
If Not Worksheets("Database").ListObjects("Table1").ListColumns(1).DataBodyRange Is Nothing Then
Worksheets("Database").ListObjects("Table1").ListColumns(6).DataBodyRange.Copy
Worksheets(WS).Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Worksheets("Database").ListObjects("Table1").ListColumns(10).DataBodyRange.Copy
Worksheets(WS).Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Worksheets("Database").ListObjects("Table1").Range.AutoFilter
End If
End Sub
因此,如果有评论,目前它可以正常工作,但如果过滤表为空,则不能。
目标是让所有评论一一排成一行。过滤后,您能帮忙在空桌子周围走动吗?
最好的,维克托
解决方案
推荐阅读
- ios - 在轴图 ios 上同时使用字符串和日期
- excel - VBA 使用 COUNTIFS 作为公式
- python - 退出代码 -1 的含义
- python - 如何使用 pathlib.Path().glob() 读取文件并将具有相同文件名的文件输出到另一个子文件夹
- .net-core - 如何从现有数据库创建迁移
- python - 无法在 python 中加载 csv 文件
- php - 通过 get_post_meta() 获取产品插件信息
- javascript - 合并包含数组的对象数组
- json - 将 Json 转换为 Avro 架构
- sql - 如果我从一个完全不相关的表中更新一个表,MS SQL Server 会做什么