今日学习目标

  • 掌握数据增删改查操作
  • 实现系统设置存储
  • 完成用户偏好管理

知识点

1. CRUD操作

  • Create:插入新记录
  • Read:查询和检索
  • Update:更新数据
  • Delete:删除记录

2. 设置存储技术

  • 工作表存储:专用设置表
  • 文件存储:INI/JSON配置文件
  • 注册表存储:系统级设置

3. 用户偏好管理

  • 默认值设置
  • 界面主题切换
  • 快捷方式配置

今日代码

vba
' 数据查询 Function QueryData(keyword As String) As Collection Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim result As New Collection Set ws = Worksheets("数据") lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row For i = 2 To lastRow If InStr(1, ws.Cells(i, 1).Value, keyword) > 0 Then result.Add ws.Rows(i).Value End If Next i Set QueryData = result End Function ' 数据更新 Sub UpdateData(rowNum As Long, fieldName As String, newValue As Variant) Dim ws As Worksheet Dim colNum As Long Set ws = Worksheets("数据") colNum = GetColumnNumber(fieldName) ws.Cells(rowNum, colNum).Value = newValue End Sub ' 数据删除 Sub DeleteData(rowNum As Long) Dim ws As Worksheet Set ws = Worksheets("数据") ws.Rows(rowNum).Delete End Sub ' 保存设置到工作表 Sub SaveSettings() Dim ws As Worksheet Set ws = Worksheets("设置") ws.Range("A1").Value = "DefaultDept" ws.Range("B1").Value = Me.cmbDefaultDept.Value ws.Range("A2").Value = "AutoSave" ws.Range("B2").Value = Me.chkAutoSave.Value ws.Range("A3").Value = "Theme" ws.Range("B3").Value = Me.cmbTheme.Value End Sub ' 加载设置 Sub LoadSettings() Dim ws As Worksheet Set ws = Worksheets("设置") If ws.Range("B1").Value <> "" Then _ Me.cmbDefaultDept.Value = ws.Range("B1").Value Me.chkAutoSave.Value = ws.Range("B2").Value Me.cmbTheme.Value = ws.Range("B3").Value End Sub

练习题

  1. 实现按多条件筛选数据
  2. 添加数据导出功能
  3. 实现设置导入导出

参考解答

1. 使用数组存储筛选条件,循环判断所有条件是否满足。 2. 将数据复制到新工作表,使用FileDialog导出为CSV。 3. 将设置写入JSON字符串,保存到文本文件或单元格。


由在线工具箱(www.vba.net)整理制作