Excelmacros:有可能find工作表的行高和列宽?

有没有办法find1到50的ROWS的高度,以及在Excel表格中从A到Z的列的宽度,而无需手动点击并写下答案?

谢谢

迈克尔。

要添加@Parkyprg顶部

Range("A1:A50").Height ' height of range Range("A:Z").Width ' width of range Range("A1:A50").Rows.Count ' number or rows in range Range("A3").Height ' height of A3 cell Range("A3").Width ' width of A3 cell 

在Excel VBA中,你可以使用像这样的东西:

 Range("A1:A50").Height 

 Range("A:Z").Width 

在Excel VBA中,通过使用rows.height属性可以轻松获取行高的输出:

 Sub outputRowHeight() Dim i As Integer For i = 1 To 50 Debug.Print Rows(i).Address & " is : " & Rows(i).Height Next i End Sub 

对于列宽,我们使用columns.width属性。 这是有点棘手,因为你不能直接遍历字母表的字母,所以我们需要使用索引:

 Sub outputColumnWidths1() Dim i As Integer For i = 1 To 26 '26th letter is Z Debug.Print Columns(i).Address & " is : " & Columns(i).Width Next i End Sub 

如果您想避免知道某个字母的索引,则可以使用if语句在超出范围时退出:

 Sub outputColumnWidths2() Dim i As Integer For i = 1 To 99 'using 99 as arbitrary high end number If Columns(i).Address <> "$AA:$AA" Then Debug.Print Columns(i).Address & " is : " & Columns(i).Width Else 'once we get outside of AZ, we want to end. Exit For End If Next i End Sub 

这将产生与第一个示例相同的结果,但是可以通过提高迭代次数和第一个不想评估的第一个列名称,将其扩展到所需的列数。

希望这可以帮助!