【发布时间】:2019-07-23 22:07:28
【问题描述】:
我在一列(n 行长)中有一组格式,我想将其应用于表(13 列 x n 行)。列中存储的格式是动态的,并且基于数据类型,例如货币、百分比等。例如:#,##0;[Red](#,##0);"-" 或 0.0%;[Red]0.0%;"-"
我希望在更新列时对表格的每一行进行格式化。 注意:我对条件格式不感兴趣。
我最初尝试像 row.NumberFormat = rng2 一样直接引用 rng2,但这似乎陷入了一个永无止境的循环。
Sub formatrows()
Dim rng1 As Range
Dim rng2 As Range
Dim row As Range
Dim i As Integer
Set rng1 = Range("Ac7:ao400")
Set rng2 = Range("d7:d400")
i = 0
Range("AC7").Select
'rng1.ClearFormats
For Each row In rng1.Rows
row.NumberFormat = ActiveCell.Offset(i, -25)
i = i + 1
Next row
End Sub
这是我想出的方法似乎可行,但相当笨重,我确定有更好的方法来做到这一点?
【问题讨论】: