VBA – 确定Excel数据表范围是否具有任何数据/值,但不循环范围内的每个单元格
我无法确定整个范围的数据(Excel数据表的一列)是否包含任何值。 在我遍历范围内的每一行数据之前(以便它可以被导出到一个.CSV)之前,我试图确定在给定列中是否有任何数据。 如果不是这样,我将只移动到Excel数据表中的下一列,而不是浪费循环遍历列中每个单元格的时间。
For Each tbl In WS.ListObjects Set tblRange = tbl.Range ' Determine # of Rows and Columns IntEndRow = tbl.ListRows.Count IntEndCol = tbl.ListColumns.Count For intTableCol = 2 To IntEndCol 'Loop thru each table column starting w/ 2nd column
我已经尝试了几种不同的方法来确定表列/范围中是否有任何值:
' Determine if individual column has data If Not IsEmpty(Range(tblRange.Cells(2, intTableCol), tblRange.Cells(IntEndRow, intTableCol))) Then
上述不起作用,因为即使没有价值,它仍在继续进行,我可能不知道如何正确使用IsEmpty。 我也想过尝试下面的内容:
Set colRange = Range(tblRange.Cells(2, 2), tblRange.Cells(IntEndRow + 1, IntEndCol)) sumData = Application.Sum(colRange)
但是,即使在我的总和范围内没有数值,它也会返回零。 用户将被允许input零作为一个合法的值,所以我不希望有一个零的列被认为没有价值。 我想知道是否有办法做到这一点,没有循环范围/表列中的每个单独的单元格?
- 需要自定义validation(date+特定的文本)在Excel中生成使用C#
- 无法使用System.Data.OleDb.OleDbConnection打开Excel文件
- 如果单元格值等于“空白”,则在Excel中的多个工作表上删除行
- 数据图表在Excel中显示时间
- 格式化Excel行空间JavaScript ActiveXObject
- Excel:公式search包含多个单词的单元格中的单个单词
- Excel VBA:在for循环中跳转:“Next without For” – 我在做什么错误?
- 创build表客户端,然后下载excel文件或生成Excel文件服务器端,保存到服务器,并使用JQuery从那里下载?
- 如何使VBA代码运行特定的Excel文件?