我的数据有10多列,我想从中选择三列进一步格式化这三列,但是没有。行没有固定,因此我无法一次选择所有这三列。 这就是我想要做的事情
Dim lastrow As Long
lastrow = Range("A" & Rows.Count).End(xlUp).Row
Range("G2:H" & lastrow, "J2:J" & lastrow).Select
但这也是选择I列。 我也尝试了这个
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
答案 0 :(得分:3)
你必须遍历每个连续的范围,你可以通过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