excel 如何将If-Then语句应用于单元格维度?

x0fgdtte  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(160)

是否有方法根据自动调整高度将行高调整到特定尺寸?
所有行高都需要= 12.6或= 12.6的倍数。因此,可以将超过1行的换行文本的高度设置为12.6的倍数。
例如,如果一个单元格中的数据在两行上,并且文本换行,假设自动调整高度= 23.5,则该行将调整为25.2(12.6的倍数)。
1行文本= 12.6
2行文本= 25.2
3行文本= 37.8......等等......
我想If,then语句需要和〈〉=一起使用,但不能把它们放在一起。我猜这些公式更常用于单元格的值和内容,而不是维度
我尝试在VBA中应用If Then函数,以应用于单元格/行维,而不是单元格中的实际数据。
什么都没发生

pgx2nnw8

pgx2nnw81#

调整行高

  • 我不完全确定,但我认为只允许0.75的倍数。考虑到这一点,利用以下。
  • 如果您尝试使用12.6,方法会将它转换为12.75,即0.75的下一个倍数。
Sub Test()
    
    Dim ws As Worksheet: Set ws = ActiveSheet ' improve!
    Dim rg As Range: Set rg = Range("A1:A2")
    
    AdjustRowHeight rg, 12.75

End Sub

Sub AdjustRowHeight(ByVal rg As Range, ByVal RowHeight As Double)
    
    ' Allow only multiples of '0.75'.
    Dim RH100 As Long: RH100 = INT(100 * RowHeight)
    If RH100 Mod 75 > 0 Then RH100 = (Int(RH100 / 75) + 1) * 75
    
    Dim cell As Range
    Dim H100 As Long
    Dim R100 As Long
   
    For Each cell In rg.Cells
        H100 = cell.RowHeight * 100
        R100 = H100 Mod RH100
        If R100 > 0 Then
            cell.RowHeight = (Int(H100 / RH100) + 1) * RH100 / 100
        End If
    Next cell

End Sub

相关问题