Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: zeng1412

[已解决]求助!简单的宏功能,急用,在线等!

  [复制链接]
发表于 2012-1-29 20:31 | 显示全部楼层
  1. Sub 新建()
  2.     Dim k As Long
  3.     Dim n As Long
  4.     With Sheets("sheet2")
  5.         n = .[A65536].End(xlUp).Row
  6.         If n = 1 Then
  7.             k = 1
  8.         Else
  9.             k = Val(.Cells(n, 1)) + 1
  10.         End If
  11.     End With
  12.     Cells(8, 4) = k
  13.     Range("D9").ClearContents
  14. End Sub
  15. Sub 保存1次()
  16.     Dim k1 As Long, k2
  17.     Dim n As Long
  18.     k1 = Cells(8, 4)
  19.     k2 = Cells(9, 4)
  20.     If k2 = "" Then
  21.         MsgBox "名称为空" & Chr(10) & "请输入名称"
  22.         Exit Sub
  23.     End If
  24.     With Sheets("sheet2")
  25.         n = .[A65536].End(xlUp).Row
  26.         arr = .Range(.Cells(2, 1), .Cells(n, 2))
  27.         For i = 1 To UBound(arr)
  28.             If arr(i, 1) = k1 Then
  29.                 MsgBox "不能重复录入"
  30.                 Exit Sub
  31.             End If
  32.         Next i
  33.         .Cells(n + 1, 1) = k1
  34.         .Cells(n + 1, 2) = k2
  35.     End With
  36. End Sub
  37. Sub 查询()
  38.     Dim k1 As Long, k2
  39.     Dim n As Long, i As Long, arr
  40.     k1 = InputBox("请输入正整数", "查询编号")
  41.     With Sheets("sheet2")
  42.         n = .[A65536].End(xlUp).Row
  43.         arr = .Range(.Cells(2, 1), .Cells(n, 2))
  44.     End With
  45.     For i = 1 To UBound(arr)
  46.         If arr(i, 1) = k1 Then
  47.             k2 = arr(i, 2)
  48.             Cells(8, 4) = k1
  49.             Cells(9, 4) = k2
  50.             MsgBox "查询完毕"
  51.             Exit Sub
  52.         End If
  53.     Next i
  54.     MsgBox "没有所查询编号存在"
  55. End Sub

复制代码
回复

使用道具 举报

发表于 2012-1-29 20:36 | 显示全部楼层
附件:
新建-保存-查询-sunjing.rar (8.08 KB, 下载次数: 2)
回复

使用道具 举报

 楼主| 发表于 2012-1-29 20:47 | 显示全部楼层
无聊的疯子 发表于 2012-1-29 20:26
已经修改

有个小小BUG,编号有跳过的表现,我在一个没有输入名称情况下,点击查询,然后保存,然后再新建一个编号的时候,有跳过之前那个编号的BUG
回复

使用道具 举报

 楼主| 发表于 2012-1-29 20:48 | 显示全部楼层
windimi007 发表于 2012-1-29 20:30
没在查询上改动,在保存上改动了一下,请测试!

基本符合要求了,暂时未发现BUG,如果点击查询出来的数据,能否直接显示在名称对应单元格上面,而不是采用BOX弹出来
回复

使用道具 举报

 楼主| 发表于 2012-1-29 20:50 | 显示全部楼层
sunjing-zxl 发表于 2012-1-29 20:36
附件:

EXCEL保存格式不对,没有包含宏命令在里面

点评

没有宏命令复制我11楼的代码从新保存一下就行了  发表于 2012-1-29 21:02
回复

使用道具 举报

发表于 2012-1-29 20:51 | 显示全部楼层
zeng1412 发表于 2012-1-29 20:47
有个小小BUG,编号有跳过的表现,我在一个没有输入名称情况下,点击查询,然后保存,然后再新建一个编号的 ...

已修改

新建 Microsoft Excel 工作表.zip (20.92 KB, 下载次数: 3)
回复

使用道具 举报

发表于 2012-1-29 20:53 | 显示全部楼层
zeng1412 发表于 2012-1-29 20:48
基本符合要求了,暂时未发现BUG,如果点击查询出来的数据,能否直接显示在名称对应单元格上面,而不是采用 ...

是这个意思?{:4512:}

新建 Microsoft Excel 工作表.rar

17.41 KB, 下载次数: 3

回复

使用道具 举报

 楼主| 发表于 2012-1-29 21:00 | 显示全部楼层
windimi007 发表于 2012-1-29 20:53
是这个意思?

不是这个意思
比如说:0001   ABC
              0002   CCC

我现在查询0001        我先输入0001的编号,点击查询,直接就在名称那里显示ABC出来。
回复

使用道具 举报

发表于 2012-1-29 21:04 | 显示全部楼层    本楼为最佳答案   
zeng1412 发表于 2012-1-29 21:00
不是这个意思
比如说:0001   ABC
              0002   CCC

应该是这样吧!{:912:}

新建 Microsoft Excel 工作表.rar

17.38 KB, 下载次数: 6

回复

使用道具 举报

发表于 2012-1-29 21:13 | 显示全部楼层
已经将11楼代码加入附件中
新建-保存-查询-sunjing.rar (9.04 KB, 下载次数: 4)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-3 00:13 , Processed in 0.610796 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表