跳到主要内容

在 Excel VBA 中直接给单元格赋值

文章目录
  1. 示例

前面的课程中讲解了在 VBA 中引用单元格区域的方法,如果要在 Excel VBA 中直接给单元格区域赋值,可以在这些方法上使用 Range.Value 属性,由于 Range 对象的默认属性就是 Value,因此 .Value 可以省略。

示例

直接给单元格或单元格区域的 Value 属性赋值,单元格的值可以是任何合法的 VBA 数据类型,包括字符串、数字、日期、逻辑值等。例如:

Range("A1").Value = "Hello, world!"
Range("A1") = "Hello, world!"
Cells(1, 1).Value = "果果云课堂"
Cells(1, 1) = "果果云课堂"
[A1] = 100
ActiveCell.Value = True
Rows(1).Value = Date
Range("1:1,3:3,8:8") = 3
ActiveSheet.UsedRange.Value = 4
Range("A1:B3").Offset(3, 3).Value = 5
Range("A1").CurrentRegion.Value = 6
Range("A1").Resize(4, 4).Value = 7

需要注意的是:在对单元格区域直接赋值时,应保证源区域与目标区域的大小一致。如果源区域为动态的单元格区域,则可使用 Resize属性确定目标区域。

以下示例将工作表 Sheet1 中的 A1 单元格的当前区域的数值复制到工作表 Sheet2 的 A2 单元格为起始的单元格区域:

Sub GetValue()
    With Sheets("Sheet1").Range("A1").CurrentRegion
        Sheets("Sheet2").Range("A2").Resize(.Rows.Count, .Columns.Count).Value = .Value
    End With
End Sub

评论

您的电子邮件地址不会显示出来。*号为必填项。