×

excel制作vba录入和查询系统

excel制作vba录入和查询系统(如何用Excel VBA构建数据查询界面)

admin admin 发表于2023-12-28 17:18:26 浏览29 评论0

抢沙发发表评论

本篇文章给大家谈谈excel制作vba录入和查询系统,以及如何用Excel VBA构建数据查询界面对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

如何用Excel VBA构建数据查询界面

一般有2种方式。

1种是在Sheet页面设计:

开发工具:选中设计模式,在插入中选择你要的控件,托到Sheet页面就行。

如果控件不够,就点击“ActiveX控件”右下的的交叉锤子扳手图标。

就可以添加你想要的控件了

另外一种是Form界面的。点击上图的“查看代码”,就可以移动到后台,Alt+F11 也可以。

项目右击,新建一个“用户窗体”

和刚才一样,拖动控件来设计。

如果控件不够的话,也可以追加的:

顺便说一句,VBA一般连接数据库,一般是要导入引用的,从网上copy别人的代码,运行的时候经常报错,有些情况就是没有导入引用。

我平时用SQLServer

后台VBA连接SQLServer,我连接的是Objects 2.8

Excel制作查询系统

如果要更为复杂的或数据庞大的,需要请会VBA的大神帮忙了,我这提供一个简单点的查找方式,在G2输入要查找的姓名或部门。

 H3数组公式,输入完成后不要直接回车,要按三键  CTRL+SHIFT+回车  结束然后右拉至K3再下拉。=INDEX(A:A,SMALL(IF(IF(COUNTIF($A:$A,$G$2),$A$2:$A$999,$B$2:$B$999)=$G$2,ROW($2:$999),4^8),ROW(A1)))&""

 

 

如何用excel建立一个查询系统

       用EXCEL建立一个查询系统,其步骤是:

  第一步,建立查询系统所要用的数据源,和要查询的各个项目。(如图)

  第二步,设置查询系统。

  1、选取B12,点击“数据”、“数据有效性”。在“数据有效性”对话框中,点“设置”选项卡,在“允许”下选择“序列”,在“来源”中选取A2:A9区域。

  2、在B13中输入公式

  =VLOOKUP(B$12,A:H,ROW(A2),)

  向下复制公式。一个简单的查询系统就完成了。

怎样用Excel制作表格查询系统

怎样用Excel制作表格查询系统呢?下面我来教大家。

  • 01

    首先,我们打开我们电脑上面的excel,然后我们选中图示中的区域,之后我们;

  • 02

    之后我们点击边框按钮边上的下拉箭头,弹出的界面,我们点击所有边框;

  • 03

    然后我们按照图示输入相关信息;

  • 04

    之后我们就可以录入信息了;

  • 05

    然后我们选中图示中的区域,之后点击数据,然后我们点击筛选,这样查询系统就做好了;

  • 06

    之后我们就可以查询了,我们点击名称后面的下拉箭头,弹出的界面,我们可以选择D,然后点击确定;

  • 07

    这样我们就查询到相应的结果了。

怎样在EXCEL里 编辑vba”查询“功能程序

没有文件,这边提供代码思路分析先判断B1和F1有无内容,如果是空值,则点击查询,不做任何动作,如果不为空,则根据内容匹配对应值后,将匹配到的数据输入到对应列

Excel 求助VBA代码实现查询功能

方法/步骤新建一张表格,在表格中导入学生的成绩表,如图所示,我们将建立一个按钮,通过它来实现查找。 单击菜单栏中的“开发工具”——插入——表单控件——按钮,在出现的十字箭头上拖住画出一个按钮,如图所示。在弹出的查找红对话框中选择“录制”,在弹出的“录制新宏”对话框中,修改宏名称为“查找”,单击确定。 单击“开发工具”——查看代码,打开VBA器,如图所示。 现在我们来输入代码:Sub 查找() Dim jieguo As String, p As String, q As String Dim c As Range jieguo = Application.InputBox(prompt:="请输入要查找的值:", Title:="查找", Type:=2) If jieguo = "False" Or jieguo = "" Then Exit Sub Application.ScreenUpdating = False Application.DisplayAlerts = False With ActiveSheet.Cells Set c = .Find(jieguo, , , xlWhole, xlByColumns, xlNext, False) If Not c Is Nothing Then p = c.Address Do c.Interior.ColorIndex = 4 q = q & c.Address & vbCrLf Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address 《》 p End IfEnd WithMsgBox "查找数据在以下单元格中:" & vbCrLf & vbCrLf _ & q, vbInformation + vbOKOnly, "查找结果" Application.ScreenUpdating = True Application.DisplayAlerts = TrueEnd Sub现在回到EXCEL表格,右击按钮,选择“文字”,修改按钮名称为“查找按钮”。7 现在单击查找按钮,出现对话框“请输入要查找的值”,在方框中输入“男”,单击确定,出现对话框“查找数据在一下单元格中”,单击确定,对应单元格就变成了亮色。***隐藏网址***

excel中如何将用vba把表一的信息录入表二

1、可以先利用宏录制来自动生成代码,然后再进行修改。操作方法如下:第一步,打开一个excel应用,新建一个白空表格,并录入数据。2、第二步,点击excel应用程序窗口状态栏中左侧的“宏录制”按钮。3、第三步,然后在表1中,选中左上角第一个有数据的单元格。4、第四步,接着按下CTRL+SHIFT键,再分别先后按下方向右键、方向下键,选中表1中全部数据。5、第五步,再接着按下ctrl+C复制选中数据,切换到表2中,在要保存数据的行的第一个单元中点击一下,再ctrl+V粘贴。6、第六步,再次点下excel应用程序状态栏左侧的宏录制按钮,停止宏录制。7、第七步,按下组全键:ALT+F11,打开vba窗口,展开模块,双击打开模块1,在右侧就可以看到刚录制的宏代码了,这个代码基本就能解决前面提出的问题了。

Excel 怎么样用VBA做订单录入

一、数据采集系统功能 录入、保存、查询、清空、修改

 二、两个界面 

1.数据录入界面:前台功能使用界面,实现“录入、保存、查询、清空、修改”;

2. 数据存储界面:后台实现数据的保存; 录入界面:

三、实现方法 1. 保存功能 Sub Save() ’ 

’保存数据 Marco,xiaohou制作,时间2013-9-5 ’ 

Dim r1, r2, r3 As Range With Sheets("数据存储") 

Set r2 = .Range("a2", ..End(xlUp)) End With 

With Sheets("数据录入")   Set r1 = .Range("c4:e4, d6:l39") 

  If IsEmpty(.Range("c4")) Or IsEmpty(.Range("e4")) Then     ’Or IsEmpty(.Range("b7:b41")) 添加科室不为空,未成功     MsgBox ("编码、名称为空,不可保存!")   Else 

Set r3 = r2.Find(.Cells(4, 3), , , 1)     If Not r3 Is Nothing Then 

MsgBox ("此编码已存在,不可保存。如果此信息需要修改,请点击查询后再修改")

Else 

Sheets("数据存储").Rows("2:35").Insert Shift:=xlDown       

.Range("c6:l39").Copy  ’复制“数据录入”表体信息 

Sheets("数据存储").Range("c2:l2").PasteSpecial Paste:=xlPasteValues       .Range("c4").Copy      ’复制“数据录入”编码 

Sheets("数据存储").Range("a2:a35").PasteSpecial Paste:=xlPasteValues       .Range("e4").Copy      ’复制“数据录入”名称 

Sheets("数据存储").Range("b2:b35").PasteSpecial Paste:=xlPasteValues       r1.ClearContents       ’保存数据后,清空录入界面       

.Range("c4").Select     End If   End If End With End Sub

2. 查询功能 Sub Query() ’ 

’ 查询筛选 Macro,xiaohou制作,时间2013-9-5 ’ ’ 

Dim Erow As Integer Dim r1, r2 As Range With Sheets("数据录入")   Set r1 = .Range("d6:l39")   Set r2 = .Range("a6:b39") 

Erow = Sheets("数据存储")..End(xlUp).Row     

r1.ClearContents     

’For Each ce In . 

’If ce 《》 "" Then ce.Value = "*" & ce & "*"   ’加上通配符*,实现模糊查询    

 ’Next 

If IsEmpty(.Range("c4")) Or IsEmpty(.Range("e4")) Then     

’Or IsEmpty(.Range("b7:b41")) 添加科室不为空,未成功     

MsgBox ("编码、名称为空,不可查询!")   Else 

Sheets("数据存储").Range("A1:l" & Erow).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _     ., Unique:=False 

r2.Borders(xlDiagonalDown).LineStyle = xlNone     r2.Borders(xlDiagonalUp).LineStyle = xlNone     

r2.Borders(xlEdgeLeft).LineStyle = xlNone     

r2.Borders(xlEdgeTop).LineStyle = xlNone    

 r2.Borders(xlEdgeBottom).LineStyle = xlNone     

’r2.Borders(xlEdgeRight).LineStyle = xlNone     r2.Borders(xlInsideVertical).LineStyle = xlNone

 r2.Borders(xlInsideHorizontal).LineStyle = xlNone     

r2.NumberFormatLocal = ";;;"     

’For Each ce In . 

 ’If ce 《》 "" Then ce.Value = Mid(ce, 2, Len(ce) - 2)   ’取消 "*"通配符   

 ’Next   End If End With End Sub

3. 更新 Sub Update() ’ 

’更新 Macro,xiaohou制作,时间2013-9-5      

Dim arr, d As Object      

Dim r As Range      

Dim lr&, i&, j%      

With Sheets("数据录入") ’查询修改工作表数据区域写入数组arr          

’arr = .Range("A7:D" & .Range("A65536").End(xlUp).Row)          

 arr = .Range("a6:l39")          

 Set r = .Range("d6:l39")      

End With 

Set d = CreateObject("scripting.dictionary") ’定义字典对象      

For i = 1 To UBound(arr) ’逐行 

        ’If Len(arr(i, 2)) 《》 0 Then ’排出“合计”行,即:姓名务数据 

            If Not d.exists(arr(i, 1) & arr(i, 2) & arr(i, 3)) Then d(arr(i, 1) & arr(i, 2) & arr(i, 3)) = arr(i, 4) & Chr(9) & arr(i, 5) _ 

            & Chr(9) & arr(i, 6) & Chr(9) & arr(i, 7) & Chr(9) & arr(i, 8) & Chr(9) & arr(i, 9) & Chr(9) & arr(i, 10) & Chr(9) & arr(i, 11) & Chr(9) & arr(i, 12)

  ’上一句:如果编码和名称连接字符串字典不存在(首次出现,这里判断可能多余),这个字符串添加到字典键值,后续的相关属性字段用制表符连接添加到字典条目        

 ’End If      Next 

     With Sheets("数据存储") 

     lr = .Range("A100000").End(xlUp).Row ’数据存储工作表数据行数 

 ’.Range("C2:D" & lr).SpecialCells(xlCellTypeConstants, 23).ClearContents ’清除C、D列不含公式单元格的值 

arr = .Range("A2:l" & lr) ’数据存储工作表数据区域写入数组arr      

For i = 1 To UBound(arr) ’逐行 

If d.exists(arr(i, 1) & arr(i, 2) & arr(i, 3)) Then ’如果编码和名称连接字符串字典存在,即Sheet2中有             

For j = 4 To 12 ’D、E、F...列逐列 

 ’If Not Cells(i, j).HasFormula Then Cells(i, j) = Split(d(arr(i, 1) & arr(i, 2)), Chr(9))(j - 3)                 

 ’上句:如果单元格不含公式,把Sheet2对应的数据写入这个单元格

.Cells(i + 1, j) = Split(d(arr(i, 1) & arr(i, 2) & arr(i, 3)), Chr(9))(j - 4) 

Next 

End If 

Next 

End With 

r.ClearContents 

Sheets("

数据录入

").Cells(4, 3).Select 

     MsgBox ("

数据已更新完成,若要查看更新后的内容,请点击按钮查询")

OK,关于excel制作vba录入和查询系统和如何用Excel VBA构建数据查询界面的内容到此结束了,希望对大家有所帮助。