ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > Excel VBA > 自己做的电话本

自己做的电话本

作者:绿色风 分类: 时间:2022-08-17 浏览:139
楼主
研究研究
现在大家离不开电脑和电话的人越来越多了。但是人脑毕竟是人脑记不住很多东西。就想我对英文和数字很敏感

所以写了这个电话本

用EXCEL做电话本有几个好处,就是记录量大,而且查询快而准



 



电话本.rar
2楼
研究研究
电话本带有使用说明,我这里就不在啰唆了
我要说的是几段代码

  1. If Trim(Sheets("查询").Cells(6, 1).Value) = "" Then
  2. With Sheets("数据库")
  3.   a = .Range("B65536").End(xlUp).Row
  4. Sheets("查询").Cells(6, 1) = Sheets("数据库").Cells(a, 1) + 1
  5. End With
  6. End If
  7. If Trim(Sheets("查询").Cells(6, 2).Value) = "" Then
  8.                MsgBox "没有姓名保存什么?!", vbOKOnly
  9.                Exit Sub
  10.                End If
  11. If Application.WorksheetFunction.CountA(Sheets("查询").Range("C6:K6")) = 0 Then
  12.      MsgBox "没有号码保存什么?", vbOKOnly
  13.      Exit Sub
  14. End If
  15.     Dim Xulie As String
  16.     Dim n As Long
  17.     Dim Flag As Boolean   '判断是否找到

  18.     n = 1
  19.     With Sheets("数据库")
  20.          Xulie = Sheets("查询").Cells(6, 1)
  21.          Do While .Cells(n, 1) <> ""
  22.            If .Cells(n, 1) = Xulie Then
  23.          Xulie = Sheets("查询").Cells(6, 2)

  24.            Exit Do
  25.           End If
  26.           n = n + 1
  27.           Loop
  28.           End With
  29.        If Sheets("数据库").Cells(n, 2) = Xulie Then
  30.        a = n
  31.        Sheets("数据库").Range("A" & a & ":Q" & a) = Range("A6:Q6").Value
  32.        Sheets("查询").Select
  33.          ActiveWindow.FreezePanes = False
  34.     Rows("6:6").Select
  35.     Range("B6").Activate
  36.     Selection.Delete Shift:=xlUp
  37.     Range("F13").Select
  38.     ActiveWindow.FreezePanes = True
  39.       End If
  40.       If Sheets("数据库").Cells(n, 2) <> Xulie Then 新增_Click   
  41.       


这里是先查询在库里有没有这个名字。如有他的ID是否相同,如相同则覆盖原数据、不相同或者没有输入的没有ID则新增一条记录、
3楼
研究研究
查询的代码。

因为是模糊查询所以有时会有很多的信息,所以我关闭了屏幕更新


Application.ScreenUpdating = False '不闪的代码



  1. Cells(1, 8) = Cells(2, 1)
  2. Cells(2, 8) = Cells(3, 1)
  3. Dim k, c As Range, frows As String, l As Long
  4. If Len(Sheets("查询").Range("D4").Value) < 1 Then Exit Sub
  5. Application.ScreenUpdating = False '不闪的代码
  6. k = Sheets("查询").Range("D4").Value
  7. Sheets("查询").Rows("6:65536").ClearContents
  8. l = 5

  9. With Sheets("数据库").Range("b2:q" & Sheets("数据库").UsedRange.Rows.Count)
  10. Set c = .Find(k, LookIn:=xlValues, lookat:=xlPart)
  11. If Not c Is Nothing Then
  12. firstAddress = c.Address
  13. Do
  14. If InStr(frows, "|" & c.Row & "|") < 1 Then
  15. l = l + 1
  16. Sheets("数据库").Rows(c.Row).Copy Sheets("查询").Cells(l, 1)
  17. frows = frows & "|" & c.Row & "|"
  18. End If
  19. Set c = .FindNext(c)

  20. Loop While Not c Is Nothing And firstAddress <> c.Address
  21. End If
  22. End With

  23. If Trim(Sheets("查询").Cells(6, 2).Value) = "" Then
  24. MsgBox "没有找到符合的信息!", vbOKOnly
  25. End If
4楼
研究研究
删除 和增加 没有什么好说的了



  1. Private Sub 删除_Click()
  2. Cells(1, 8) = Cells(2, 1)
  3. Cells(2, 8) = Cells(3, 1)
  4. Dim Xulie As String
  5. Dim n As Long
  6. Dim Flag As Boolean '判断是否找到
  7. Flag = False
  8. n = 2
  9. With Sheets("数据库")
  10. Xulie = Sheets("查询").Cells(6, 1)
  11. Do While Sheets("数据库").Cells(n, 1) <> ""
  12. If .Cells(n, 1) = Xulie Then
  13. .Rows(n).Delete Shift:=xlUp
  14. Sheets("查询").Select
  15. ActiveWindow.FreezePanes = False
  16. Rows("6:6").Select
  17. Range("B6").Activate
  18. Selection.Delete Shift:=xlUp
  19. Range("F13").Select
  20. ActiveWindow.FreezePanes = True
  21. Flag = True
  22. Exit Do
  23. End If
  24. n = n + 1
  25. Loop
  26. End With
  27. If Flag = False Then MsgBox " 对不起 没有找到!"
  28. Range("C4").Select
  29. End Sub
  30. Private Sub 新增_Click()
  31. With Sheets("数据库")
  32. a = .Range("B65536").End(xlUp).Row
  33. Sheets("查询").Cells(6, 1) = Sheets("数据库").Cells(a, 1) + 1
  34. End With

  35. If Application.WorksheetFunction.CountA(Sheets("查询").Range("C6:K6")) = 0 Then
  36. MsgBox "没有一个号码?", vbOKOnly
  37. Exit Sub

  38. End If
  39. If Trim(Sheets("查询").Cells(6, 2).Value) = "" Then
  40. MsgBox "请输入 姓名!", vbOKOnly
  41. Exit Sub
  42. End If
  43. With Sheets("数据库")
  44. a = a + 1
  45. .Range("A" & a & ":Q" & a) = Range("A6:Q6").Value

  46. Sheets("查询").Select
  47. ActiveWindow.FreezePanes = False
  48. Rows("6:6").Select
  49. Range("B6").Activate
  50. Selection.Delete Shift:=xlUp
  51. Range("F13").Select
  52. ActiveWindow.FreezePanes = True
  53. End With
  54. End Sub



有不足之处希望高手帮我圆满。

希望大家喜欢我的作品
5楼
lrlxxqxa
研究真强大
支持原创
6楼
99253415
好东西 我下载来好好学习
7楼
悠悠雨
好东东呀,大家来一起学习
8楼
wqfzqgk

9楼
xinqing2019
很好,可以保存以后用,哈哈
10楼
jiawei00
henhao
11楼
lovewind1226
只能用膜拜来表达我的感情
12楼
hellosarah
这里牛人真是太多了啊~
13楼
冰心8549
谢谢分享,学习学习
14楼
JOYARK1958
好东西 我下载来好好学习

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap