Jeaux处理许多长工作表,其中包含她可能需要打印的数据。一旦打印,她便在数据列旁边的空格中写入。所有行都会自动调整大小以适合内容,因此它们的高度会有所不同。 Jeaux正在寻找一个宏,该宏将采用选定的行并以指定的百分比递增它们。 (由于它们的高度不同,她不能将它们都设置为相同的高度。)

这样,她可以使行足够大以进行手写,但是仍然可以看到所有数据。有一种方法可以将行的高度恢复到打印前的高度。

使用宏非常容易完成此任务。您需要做的就是逐步浏览选定的行并调整RowHeight属性,就像在此宏中所做的一样:

Sub ExpandSelectedRows()

Dim rRow As Range     Dim dEnlarge As Double

dEnlarge = 1.25     For Each rRow In Selection.Rows         rRow.RowHeight = rRow.RowHeight * dEnlarge     Next End Sub

在这种情况下,dEnlarge变量包含1.25,这意味着For …​ Next循环中的公式将使行高增加25%。可以更改此变量的值以反映您要使用的百分比,也可以修改宏以要求用户输入百分比:

Sub ExpandSelectedRows()

Dim rRow As Range     Dim dEnlarge As Double     Dim sTemp As String

sTemp = InputBox("Increase by what percent?")

dEnlarge = Val(sTemp)

If dEnlarge > 1 Then dEnlarge = dEnlarge / 100     If dEnlarge < 1 Then dEnlarge = dEnlarge + 1

If dEnlarge > 0 Then         For Each rRow In Selection.Rows             rRow.RowHeight = rRow.RowHeight * dEnlarge         Next     End If End Sub

如果以后要使行恢复到原始高度,则以下单行宏将完成此工作:

Sub AutfitRows()

Cells.EntireRow.AutoFit End Sub

此宏有效,因为工作表中的行最初是“自动调整大小以适合内容”。尽管可以编写一个宏来反转放大步骤(用dEnlarge除而不是乘),但是只有在ExpandSelectedRows宏没有运行多次时,它才能可靠地工作。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(21)适用于Microsoft Excel 2007、2010、2013和2016。