1 range赋值,有时候注意些完整,加range().value
- cells() 赋值 可以 cells()=cells()
- range() 赋值 不可以 range()=range()
- Range("b5:d7") = Range("b1:d3").Value 才可以
Sub test112()
Range("f1:h3") = Range("b1:d3")
Range("b5:d7") = Range("b1:d3").Value
End Sub
赋值注意
- 单元格赋值,带不带 cells().value 都可以
- range("a1") 这种一个单元格的,等同cells(),赋值也可以省略value
- range()区域就可以直接当2维数组使用的
- range()区域不只1个单元格的时候,赋值就需要使用 .value(),否则赋值为空
- range()赋值,这样加了value变成 range().value 赋值正确
2 继续测试
Sub test5()
'这两个都可以
Cells(5, 4) = Cells(1, 4)
Cells(5, 5) = Cells(1, 5).Value
'这个不行
Range("j1:m3") = Range("d1:g3")
'加value就可以
Range("d9:g11") = Range("d1:g3").Value
'这个可以
arr1 = Range("d1:g3")
Range("j5:m7") = arr1
'这个居然也可以,range指定并非需要左下右上,其他指定区域方式也可以
Range("j11:m9") = arr1
'这个可以
Range("j13").Resize(UBound(arr1, 1), UBound(arr1, 2)) = arr1
Range("j13").Resize(UBound(arr1, 1), UBound(arr1, 2)).Interior.ColorIndex = 6
'这个可以
Cells(17, 10).Resize(3, 3) = arr1
Cells(17, 10).Resize(3, 3).Interior.ColorIndex = 6
'这个可以
Cells(21, 10).Resize(UBound(arr1, 1), UBound(arr1, 2)) = arr1
Cells(21, 10).Resize(UBound(arr1, 1), UBound(arr1, 2)).Interior.ColorIndex = 6
'这个可以
[j25].Resize(2, 2) = arr1
[j25].Resize(2, 2).Interior.ColorIndex = 6
'这个可以
[j29].Resize(UBound(arr1, 1), UBound(arr1, 2)) = arr1
[j29].Resize(UBound(arr1, 1), UBound(arr1, 2)).Interior.ColorIndex = 6
End Sub
3 继续测试的代码
Sub test900()
For Each I In Range("f4:f13")
Debug.Print I
Next
arr1 = Range("f4:f13")
Cells(4, 1).Resize(10, 1) = arr1
Cells(4, 1).Resize(10, 1).Interior.ColorIndex = 10
'单元格赋值,带不带 cells().value 都可以
'range("a1") 这种一个单元格的,等同cells(),赋值也可以省略value
Cells(1, 3) = Cells(1, 6)
Cells(1, 3).Interior.ColorIndex = 8
Cells(2, 3).Resize(1, 1) = Cells(2, 6).Value
Cells(2, 3).Interior.ColorIndex = 8
Cells(3, 3) = Range("f3")
Cells(3, 3).Interior.ColorIndex = 8
'这样可以变色,但赋值都为空
'range()区域就可以直接当2维数组使用的
'range()区域不只1个单元格的时候,赋值就需要使用 .value(),否则赋值为空
Cells(4, 3).Resize(10, 1) = Range("f4:f13")
Cells(4, 3).Resize(10, 1).Interior.ColorIndex = 8
'range()赋值,这样加了value就可以
Cells(4, 4).Resize(10, 1) = Range("f4:f13").Value
Cells(4, 4).Resize(10, 1).Interior.ColorIndex = 23
End Sub