vba - 如何将 excel UsedRange 转换为从单元格 A1 开始其工作表(即删除 UsedRange 之外的所有空白行和列)?

标签 vba excel

我是 VBA 新手,还无法弄清楚如何立即从工作表中选择和删除“非UsedRange”(即将UsedRange 从单元格A1 开始)。

换句话说,我需要一个动态解决方案来将可变大小的 UsedRange 从其可变位置移动到其工作表的最左上角(即,UsedRange 左侧/顶部的所有空列/行都应该消失)。

我(可能)找到了一个单行代码(仅)为(仅)一个特定列执行此操作:

ActiveSheet.Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

如何将 excel UsedRange 转换为从单元格 A1 开始其工作表(即删除 UsedRange 之外的所有空白行和列)?

最佳答案

只需在它们为空白时继续删除第 1 行和 A 列。

with worksheets("sheet1")
    do while not cbool(application.counta(.rows(1).cells))
        .rows(1).entirerow.delete
    loop
    do while not cbool(application.counta(.columns(1).cells))
        .columns(1).entirecolumn.delete
    loop
end with

关于vba - 如何将 excel UsedRange 转换为从单元格 A1 开始其工作表(即删除 UsedRange 之外的所有空白行和列)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47670247/

相关文章:

vba - Excel VBA 正在跳过特定的代码行

arrays - 对于范围内的每个单元格,将单元格值添加到数组 - IF 条件满足

python - Pandas DataFrame 的重音字符在 Excel 中出现乱码

Excel VBA,将鼠标移动到不同的单元格

mysql - SQL查询,如何从一个列表中获取所有元素,而仅从另一个表中获取相似元素

.net - 无法使用证书通过 Windows 10 1809 中的 com-interop 登录网站

excel - 文件 protected 时运行的宏

excel - 如何使用 Excel 中存储的地址向多个收件人发送电子邮件?

Excel 将表格顺时针旋转(不是转置)90 度

python - 将数字写入 Excel 时应用公式