乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > VBA,如何取单元格的值?-excel单元格vba,excel vba 选择单元格

VBA,如何取单元格的值?-excel单元格vba,excel vba 选择单元格

作者:乔山办公网日期:

返回目录:excel表格制作


下面是一个简单的例子,设定单元格A5的格式,'后为解释,程序运行时会忽略。
Sub Macro1()

Range("B5").Select '选中某单元格
Selection.Font.ColorIndex = 4 '字体颜色设为e79fa5e98193e78988e69d83335绿色
Selection.Interior.ColorIndex = 6 '单元格颜色设为黄色
Selection.Font.Bold = True '字体加粗
Selection.Font.Name = "Arial" '设字体为Arial
Selection.Font.Size = 12 '设字体大小为12

End Sub

下面的例子是得到某单元格的部分格式属性

Sub test()
Range("B5").Select
MsgBox Selection.Font.ColorIndex
MsgBox Selection.Interior.ColorIndex
MsgBox Selection.Font.Bold
MsgBox Selection.Font.Name
MsgBox Selection.Font.Size
End Sub

初学者,先使用工具,宏,录制宏,然后出现一类似录音机按钮,你做些单元格设置等动作,然后按停止按钮。再到工具,宏,VBA编辑器,左上窗口的模块,模块1,宏1,打开,可以看到一些代码,回忆你刚才坐的动作。慢慢练习。

你还可以把下面的例子粘到刚才宏的窗口中,把窗口弄小些,点上面的放音按钮,可以看到宏 是如何工作的:
Sub test2()

Dim i As Byte
For i = 1 To 30
Cells(i, 1) = i
Cells(i, 2).Interior.ColorIndex = i
Next i

End Sub

另外,最常见的语句还有IF Then End:
在上面例子的next i之前粘贴如下语句:
If i = 3 Then
i = i + 1
End If
会把A3和 B3 跳过。

熟能生巧。

VBA中表示单元格的值有很多种,比如A1单元格的值
range("A1")
cells(1,1) 或cells(1,"A")
[A1]

VBA中单元格属性默认是值,但如果指定为value属性,可以提高代码运行速度
上述的表示方式为:
range("A1").value
cells(1,1).value 或cells(1,"A").value
[A1].value


单元格的属性包括很多,包括地址、是否含有批注、是否含有合并单元格等。

如下代码分别求得其地址和做批注、合并单元格的判断。

Sub myText()
MsgBox "地址是" & Cells(1, 1).Address
If Cells(1, 1).Comment Is Nothing Then
MsgBox "无批注"
Else
MsgBox "有批注"
End If
Dim myrange As Range
Set myrange = Cells(1, 1)
If myrange.MergeCells Then
MsgBox "有合并单元格"
Else
MsgBox "无合并单元格"
End If
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网