gpt4 book ai didi

vba - 使用可变但行数相同的不同列进行格式化,并且列不相邻

转载 作者:行者123 更新时间:2023-12-03 02:31:04 24 4
gpt4 key购买 nike

我的数据有 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 的所有三列执行此操作 Screenshot 1

但是如果我使用

 Intersect(Range("G:H, J:J"), Rows("2:" & lastrow)).Select
With Selection
.NumberFormat = "0"
.Value = .Value
End With

G 列和 H 列的格式正确,但 J 列的格式不正确,它给了我 #NA 条目。 Screenshot 2

最佳答案

您必须循环遍历每个连续范围,您可以通过 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

关于vba - 使用可变但行数相同的不同列进行格式化,并且列不相邻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43202135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com