之前偷懒,直接一行一行比对是否为空。工作需要,表格中有上万行数据,此方法就捉襟见肘了。。。
上网研究了一下,调试成符合自己要求的代码,记录一下:
Sub test()
Dim num_row, num_col
Dim arr
' 将数据区域内容整体写入数组
With Sheets("报警日志")
' 获取数据区域行列数
num_row = .UsedRange.Rows.Count - 1 ' 减去表头行
num_col = .UsedRange.Columns.Count
' 写入数组,获取的数组,下标以1开始
arr = .Range("A2").Resize(num_row, num_col).Value
End With
' 将数组整体写入单元格中
Sheets("结果").Range("A2").Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
End Sub