отрегулируйте высоту строки

#excel #vba

#excel #vba

Вопрос:

У меня есть файл Excel. Я хочу, чтобы программа, когда я набираю в поле A1 номер «1», регулировала высоту строки «1» на высоту, отличную от остальных строк. Когда я пишу в поле A1 номер «2», высота строки «2» должна быть скорректирована на высоту, отличную от остальных строк, а когда я пишу в поле A1 номер «3», высота строки «3» должна быть изменена на высоту, отличную отостальные строки. И так далее . Спасибо

Комментарии:

1. Какое значение высоты отличается от других строк?

Ответ №1:

Отрегулируйте высоту строки

  • Скопируйте код в соответствующие модули.
  • Это автоматизировано, не нужно ничего запускать.
  • Вы можете скопировать код модуля листа на любое количество листов, и он будет выполняться на всех из них.

Стандартный модуль, например 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