自动适应所有列,find有数据的最后一行和最后一列

我想:

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

  2. 我想find最后一列和在该工作表中有数据的最后一行,即最后一个非空行和最后一个非空列。

具有背景颜色但没有文字的单元也被认为是非空的。

所以,比如,像这样的工作表:

在这里输入图像说明

看起来像这样:

在这里输入图像说明

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

什么VSTO方法/ 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