Excel中每个单元格的VBA(3种方法)

  • Share This
Hugh West

在大型数据库中,你把大部分时间花在处理范围和单元格上。 有时你不得不在大范围或大量单元格中重复相同的操作。 这同时也浪费了你的时间,降低了你的效率。 解决这个问题的聪明办法是建立一个 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任务相关的其他文章!

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.