自动调整所有列并找到最后一行和最后一列有数据

Auto-fit all columns and find the last row and the last column that have data

我愿意:

  1. 确保 Excel 工作表的所有列都加宽到足以容纳列中每一行的文本;和

  2. 我想找到该工作表中包含数据的最后一列和最后一行,即最后一个非空行和最后一个非空列。

具有背景颜色但没有文本的单元格也将被视为非空单元格。

例如,这样的工作表:

看起来像这样:

最后一个数据单元格报告为 D10 因为它是最后一个 单元格,即使它没有文本。

什么 VSTO methods/API 会给我上面的内容?

要确定使用的范围,请使用 Worksheet.UsedRange 属性: https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-usedrange-property-excel?f=255&MSPPError=-2147217396

对于此范围内的自动调整列,使用 Range.AutoFit 方法: https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-autofit-method-excel?f=255&MSPPError=-2147217396

UsedRange = ActiveWorkbook.Worksheets.Item("Sheet1").usedrange
UsedRange.Columns.Autofit