首页 > 解决方案 > 调整行高

问题描述

我有一个excel文件。我希望程序在我输入字段 A1 数字“1”时将“1”行的高度调整为与其余行不同的高度。当我在字段 A1 数字“2”中写入时,行“2”的高度应调整为与其余行不同的高度,当我在字段 A1 数字“3”中写入时,行“3”的高度" 应修改为与其余行不同的高度。等等 。谢谢

标签: excelvba

解决方案


调整行高

  • 将代码复制到相应的模块中。
  • 它是自动化的,无需运行任何东西。
  • 您可以将工作表模块代码复制到任意数量的工作表中,它将在所有工作表中运行。

标准模块 例如Module1

Option Explicit

Sub adjustRowHeight( _
    CellRange As Range, _
    ByVal NewRowHeight As Double, _
    Optional ByVal DefaultRowHeight As Double = 15)
    
    With CellRange
        Dim Curr As Variant
        Curr = CellRange.Value
        Application.ScreenUpdating = False
        .Worksheet.Rows.RowHeight = DefaultRowHeight
        If IsNumeric(Curr) Then
            If Curr >= 1 And Curr <= .Worksheet.Rows.Count Then
                If NewRowHeight >= 0 And NewRowHeight < 410 Then
                    .Worksheet.Rows(CLng(Curr)).RowHeight = NewRowHeight
                End If
            End If
        End If
        Application.ScreenUpdating = True
    End With

End Sub

工作表模块例如Sheet1

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.CountLarge = 1 Then
        If Target = Range("A1") Then
            adjustRowHeight Target, 30, 15
        End If
    End If
End Sub

推荐阅读