TOP

VBA-第 5 课。属性 (Properties)

在本文中,我们将学习如何编写 VBA 代码来控制单元格内容、单元格本身和字母。

属性是一种对象属性,它定义对象的特征之一,例如其大小、颜色或在屏幕上的位置,或其行为的某个方面,例如它是否在屏幕上启用或可见。

要改变对象的特性,就需要改变其属性的值。


1. 在单元格中写入值

首先,打开编辑器,添加一个模块,复制这个宏:

Sub Properties() 'moonexcel.com.ua
   Range ("A1")
End Sub

我们转到 A1 单元格。现在让我们尝试控制这个单元格。为了看看我们能做什么,让我们在 Range ("A1") 之后添加一个点。

选择Value并按Tab。我们会得到如下代码:

Sub Properties() 'moonexcel.com.ua
        Range ("A1").Value
End Sub

Value 值显示单元格的内容。

现在让我们在单元格 A1 中写入值 35:

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = 35
   '单元格 A1 的值为 35
End Sub

现在让我们尝试在单元格中写入文本(分配文本值时,必须用双引号“”括起来):

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = "这里有一些文字"
End Sub

请注意,宏将显示您上次打开的工作表中的值。因此,为了控制书中任意sheet上某个单元格的内容,我们需要写入该单元格的完整路径,即在代码前面添加sheet的名称,例如:

选项 1. 我们通过字母名称进行申请 - Sheets("Sheet2")。

Sub properties() 'moonexcel.com.ua
   Sheets("Sheet2").Range("A1").Value = "这里有一些文字"
   '这意味着:打开工作表 2,选择单元格 A1 并在其值中写入文本
End Sub

选项 2. 我们不按信件名称申请,而是按其序列号 - Sheets(2)。

Sub properties() 'moonexcel.com.ua
   Sheets(2).Range("A1").Value = "这里有一些文字"
End Sub

同样,如果我们想引用另一个工作簿中的单元格,我们需要在代码的开头写入工作簿的名称:

Sub properties() 'moonexcel.com.ua
   Workbooks("Book2.xlsx").Sheets("Sheet2").Range("A1").Value = "这里有一些文字"
End Sub

尽管我们在示例中指定了 Value 参数,但实际上可以省略它,因为它是默认值。也就是说,这两行代码是等效的:

Sub properties() 'moonexcel.com.ua
   Range("A1").Value = 35
   Range("A1") = 35
End Sub

2. 删除值

让我们从单元格 A1 中删除我们在课程开始时记录的值 35:

Sub properties() 'moonexcel.com.ua
   Range("A1").Clear
   '意思是:选择单元格A1并清除它
End Sub

3. 格式化值

如果您选择 Font,将出现可应用于单元格的属性列表:

格式设置:更改文本大小

让我们将单元格设置为 35 并将字体大小减小为 8:

Sub properties() 'moonexcel.com.ua
   Range("A1") = 35
   Range("A1").Font.Size = 8
End Sub

格式设置:将文本设为粗体

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Bold = True
End Sub

去除油性分泌物:

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Bold = False
End Sub

格式设置:将文本设置为斜体

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Italic = True
End Sub

格式:文本下划线

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Underline = True
End Sub

格式设置:设置字体类型

Sub properties() 'moonexcel.com.ua
   Range("A1").Font.Name = "Arial"
End Sub

格式设置:为单元格着色

Sub properties() 'moonexcel.com.ua
   Range("A1").Interior.ColorIndex = 6
End Sub