我如何去自动化Excel表中的列到VBA中的某一行?

我对VBA很新,有一个Excel工作表,其中包括一个数据表,除了底部的一些注释。 我只想自动化数据表的列,但不是笔记。 有没有办法自动大小的列,但只能达到指定的行?

什么可能更容易和更快是确定你的范围没有笔记和自动适应列的宽度

Range("A1:A3").Columns.AutoFit 

下面是通过VBA的方法。 Mine是一个简单的例子,从表格中删除笔记单元格,AutoFits列,然后把笔记放回原处。

 Option Explicit Sub AutoSizeExclNotes() Dim ws1 As Worksheet Set ws1 = Worksheets("Sheet1") With ws1 Dim sNotes As String sNotes = .Range("B6").Value2 With .Range("B6") .ClearContents .EntireColumn.AutoFit .Value = sNotes End With End With End Sub 

之前 之前

后

当你可以手动执行你想要的,你可以简单地logging一个macros,并检查Excel生成的代码。 它帮了我很多次

在你的情况下,假设你想自动调整单元格A1到A3,启动macroslogging,select单元格A1:A3,然后select菜单首页>格式>自动调整列宽…然后获得以下代码:

 Sub Macro1() ' ' Macro1 Macro ' ' Range("A1:A3").Select Selection.Columns.AutoFit End Sub 

这当然不是完美的,但这是一个很好的开始学习。 Excel有时是详尽的(特别是有了SaveAsfunction),但是你可以使用帮助来理解选项,并排除那些你不需要的选项。