Table of contents
在大型数据库中,你把大部分时间花在处理范围和单元格上。 有时你不得不在大范围或大量单元格中重复相同的操作。 这同时也浪费了你的时间,降低了你的效率。 解决这个问题的聪明办法是建立一个 VBA编程代码 今天在这篇文章中,我们将讨论如何在Excel中对每个单元格进行VBA操作。
下载实践工作手册
下载这本练习册,在你阅读这篇文章时锻炼一下任务。
Excel.xlsx中每个单元格的VBA代码在Excel中为范围内的每个单元格应用VBA的3种合适方法
使用VBA代码,你可以对一个区域、一列或一行中的每个单元格执行相同的公式。 在本节中,我们将对所有部分进行介绍。
1.对范围内的每个单元格应用VBA
考虑这样一种情况:你必须对给定范围内的每个单元格应用相同的VBA代码( B3:F12 要做到这一点,我们将建立一个VBA代码。 说明如下
步骤1。
- 首先,我们将插入一个命令按钮来简化我们的工作。 转到你的 开发者标签 , 选择 插入 ,并点击命令按钮来获得一个。
- 我们已经得到了我们的命令按钮。
- 右键点击命令按钮,打开选项。 选择并点击 财产 来修改一些选项。
- 改变命令按钮的标题。 这里我们把名称改为:" 点击这里 ".
第2步。
- 现在双击命令按钮,打开VBA。 模块 这里我们将写下我们的任务的VBA代码。
- 首先,我们将声明两个变量。 我们称之为范围对象 CL 和 Rng 你可以随心所欲地为它们命名。
Dim CL As Range Dim Rng As Range
- 通过此命令指定特定范围。
Set Rng = Worksheets("VBA1").Range("B3:F12")
- 这里VBA1是我们的工作表名称,而 B3:F12 是我们定义的范围。
- 现在,我们将使用代码来执行通过范围内的每个单元格。 代码是。
For Each CL In Rng CL.Value = 100 Next CL
- 价值=100 指的是,它将返回 100 为给定范围内的每个单元格。
- 因此,我们的最终代码变成了。
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng CL.Value = 100 Next CL End Sub
- 进入你的主工作表,点击命令按钮,对该区域的每个单元格运行VBA。
第3步。
- 像数字值一样,我们也可以为单元格中的每个单元格放上文本值。 在这种情况下,进入VBA窗口,代替100,插入你想贯穿的文本值。 改变后的一行是
CL.Value = "ExcelWIKI"
- 点击命令按钮,VBA代码将为该区域的每个单元格返回该文本值。
第4步。
- 在这一步中,我们将深入挖掘。 假设我们想突出显示我们区域中的每个空白单元格。
- 为此,在你现有的代码中添加一个新的条件。 新的公式是。
如果CL.Value = " " 那么CL.Interior.ColorIndex = 3 End If
- 这段新的代码将用红色突出显示空白单元格。 因此,完整的代码是。
Private Sub CommandButton1_Click () Dim CL As Range Dim Rng As Range Set Rng = Worksheets("VBA1").Range("B3:F12") For Each CL In Rng If CL.Value = " " Then CL.Interior.ColorIndex = 3 End If Next CL End Sub
- 通过点击命令按钮获得结果。
类似的阅读。
- 如何在Excel中使用VBA的Range对象(5个属性)
- 使用VBA范围偏移(11种方法)
- 如何在Excel中计算文本(7个简单技巧)
2.为范围内某一列的每个单元格插入VBA代码
我们也可以为一列中的每个单元格运行VBA代码。 假设我们有一列包含数字的单元格,我们必须为小于10的值着色。 我们将建立一个VBA代码来运行一列中的每个单元格。
步骤1。
- 按照我们讨论过的说明,创建一个命令按钮。
第2步。
- 双击命令按钮,打开VBA窗口。
- 我们将声明一个变量,名为" c "我们在这里使用Long类型的变量,因为Long变量的容量比Integer变量大。
Dim c As Long
- 接下来,添加代码行,将我们列中所有单元格的字体颜色改为黑色。
Columns(1).Font.Color = vbBlack
- 插入这个代码的循环。
For c = 1 To Rows.Count Next c
- 在这一步,我们将输入一个条件,对低于C4单元格(10)的值进行着色。 输入这段代码来实现。
如果Cells(c, 1).Value <Range("C4").Value 并且不是IsEmpty(Cells(c, 1).Value) 那么Cells(c, 1).Font.Color = vbRed End If
- 因此,最后的代码是。
Private Sub CommandButton1_Click () Dim c As Long Columns(1).Font.Color = vbBlack For c = 1 To Rows.Count If Cells(c, 1).Value <Range("C4").Value And Not IsEmpty(Cells(c, 1).Value) Then Cells(c, 1).Font.Color = vbRed End If Next c End Sub
- 当你点击命令按钮时,VBA将运行并显示结果。
3.为范围内每一行的单元格编写VBA代码
我们也可以为一行中的每个单元格运行VBA代码。 在给定的一行中,我们需要对该行的每个单元格执行相同的操作。
步骤1。
- 添加一个命令按钮,并将其名称改为" 点击这里! "
- 双击按钮,打开VBA窗口。 写下下面提供的VBA代码。
Private Sub CommandButton1_Click () Dim r As Range Dim MyString As String '对于一行中的每个单元格,应用黄色填充 For Each r In Range("B3:F3").Rows r.Interior.ColorIndex = 6 Next End Sub
- 该代码将贯穿该行的每个单元格,并对每个单元格应用黄色的填充。
- 点击按钮,我们的结果就在这里。
速记
👉 如果你的开发者标签不可见,你可以用这个指令激活它。
自定义快速访问工具栏→更多命令→自定义功能区→开发人员→确定
总结
我们经历了三种不同的方法来运行VBA,为范围内的每个单元格服务。 如果你有任何问题或疑问,非常欢迎评论。 你也可以查看我们与Excel任务相关的其他文章!