使用可变但行数相等的格式对消毒列进行格式化,并且列不相邻
我的数据有10列以上,我想select三列, 进一步格式这三列 ,但没有。 行不固定,所以我无法一次select所有这三列。 这是我想要做的
Dim lastrow As Long lastrow = Range("A" & Rows.Count).End(xlUp).Row Range("G2:H" & lastrow, "J2:J" & lastrow).Select
但是这也是selectI列。 我也试过这个
Range("G2:H & lastrow, J2:J" &lastrow).select
但是,这给了我错误的预期。
使用时
Range("J2:J" & lastrow).Select With Selection .NumberFormat = "0" .Value = .Value End With
数据得到正确的格式,但我想这样做所有三个不是adjacnet列
但是,如果我使用
Intersect(Range("G:H, J:J"), Rows("2:" & lastrow)).Select With Selection .NumberFormat = "0" .Value = .Value End With
列G和H格式正确,但J列不是,它给了我#NA条目。
你必须循环遍历每个连续的范围,你可以通过Areas()
属性来获取,如下所示:
Dim lastrow As Long lastrow = Range("A" & Rows.Count).End(xlUp).Row Dim area As Range With Intersect(Range("G:H, J:J"), Rows("2:" & lastrow)) .NumberFormat = "0" For Each area In .Areas area.Value = area.Value Next End With