VBA知识点大全-日常分享

VBA 实战:Excel 数据批量处理技巧

**

在日常办公中,我们经常需要对 Excel 数据进行大量重复性操作,这时 VBA 就能派上用场。本文以批量提取数据和格式化单元格为例,带你领略 VBA 的高效便捷。

案例需求

假设我们有一份包含学生成绩的 Excel 表格,存储在 “Sheet1” 工作表中。数据从 A1 单元格开始,A 列是学生姓名,B 列是语文成绩,C 列是数学成绩,D 列是英语成绩。现在需要将语文成绩大于 85 分的学生信息提取到 “Sheet2” 工作表,并将提取后的数据字体设置为加粗,单元格背景色填充为浅蓝色。

VBA 代码实现

Sub ExtractAndFormatData()    Dim sourceSheet As Worksheet    Dim targetSheet As Worksheet    Dim lastRow As Long    Dim i As Long    Dim j As Long    '设置源工作表和目标工作表    Set sourceSheet = ThisWorkbook.Sheets("Sheet1")    Set targetSheet = ThisWorkbook.Sheets("Sheet2")    '获取源工作表数据最后一行的行号    lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, 1).End(xlUp).Row    j = 1 '目标工作表的行号初始化为1    '遍历源工作表数据    For i = 1 To lastRow        If sourceSheet.Cells(i, 2).Value > 85 Then            '将符合条件的数据复制到目标工作表            sourceSheet.Rows(i).Copy Destination:=targetSheet.Rows(j)            j = j + 1        End If    Next i    '设置目标工作表数据格式    With targetSheet        lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row        .Range("A1:D" & lastRow).Font.Bold = True        .Range("A1:D" & lastRow).Interior.Color = RGB(176, 224, 230)    End WithEnd Sub

代码解析

  1. 首先定义了相关变量,用于存储工作表对象、行号等信息。

  1. 通过Set语句指定源工作表和目标工作表。

  1. 使用Cells和End方法获取数据最后一行的行号,方便后续遍历。

  1. 通过For...Next循环遍历源工作表数据,判断语文成绩是否大于 85 分,若满足条件则将整行数据复制到目标工作表。

  1. 最后使用With...End With语句对目标工作表的数据进行字体加粗和单元格背景色填充的格式设置。

通过这个案例,我们可以看到 VBA 在处理 Excel 数据时的强大能力。只要掌握基础语法,就能将复杂繁琐的工作转化为简单的一键操作,大大提高工作效率。

投票知识是否有用?(2选1)
  • 非常有用 2
  • 没用 2
4人参与 投票已截止
广东省
浏览 144
收藏
3
分享
3 +1
1
+1
全部评论 1
 
大佬能排下版么,根WPS写公式一样 写多了自己都糊涂
· 山东省
回复