在工作表“例1”中,编写VBA代码完成如下功能: 1、若专业为理工,则专业代号为“LG”;若专业为文科,则专业代号为“WK”;若专业为财经,则专业代号为“CJ”; 2、若性别是男,则称呼为“先生”;若为女,则称呼为“女士”; 3、删除空行(无姓名的数据)。
时间: 2024-09-11 16:17:05 浏览: 42
在Excel VBA中,你可以通过循环遍历工作表数据并检查每个单元格的内容来实现这个功能。以下是一个简单的示例代码,假设你的数据位于A2:C100的工作区域内,其中B列是专业,C列是性别:
```vba
Sub AssignCodesAndTitles()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
' 设置工作表对象和范围
Set ws = ThisWorkbook.Sheets("例1")
Set rng = ws.Range("A2:C100")
' 遍历每一行
For Each cell In rng.Rows
If Not cell.Value = "" Then ' 检查非空行
Select Case True ' 使用Select Case结构处理条件
Case cell.Offset(0, 1).Value = "理工" ' 专业判断
cell.Offset(0, -1).Value = "LG" ' 对应的专业代号
Case cell.Offset(0, 1).Value = "文科"
cell.Offset(0, -1).Value = "WK"
Case cell.Offset(0, 1).Value = "财经"
cell.Offset(0, -1).Value = "CJ"
Case cell.Offset(0, 2).Value = "男" ' 性别判断
cell.Offset(0, -2).Value = "先生" ' 称呼判断
Case cell.Offset(0, 2).Value = "女"
cell.Offset(0, -2).Value = "女士"
End Select
' 这里也可以添加删除空行的逻辑,但是在这个例子中,我们直接跳过空行
If cell.Offset(0, -1).Value <> "" And cell.Offset(0, -2).Value <> "" Then
' 如果需要删除空行,可以在此处添加一行代码,如:
' cell.EntireRow.Delete
End If
End If
Next cell
MsgBox "操作已完成!"
End Sub
```
运行这段代码后,它会更新指定区域的专业代号和称呼,并删除包含空值的行。
阅读全文