精华内容
下载资源
问答
  • VBA简易管理系统

    2018-09-08 11:42:54
    利用excel的VBA编写的脚本,简单通俗易懂,一学就会。
  • 人事管理系统(excel_VBA)
  • VBA文档管理系统

    2018-05-15 16:13:08
    本软件为EXCEL文件管理系统,基于VBA程序编写的小程序,方便文件管理,自动识别导入,打开链接
  • Excel VBA项目 升序-降序 该宏采用Sheet1中显示的整数,并使用数组以升/降序排列。
  • vba编写的财务记账系统可供学习与参考。1、实现表之间的跳转,2、提供多种方便录入的办法。
  • VBA员工信息系统

    2014-03-02 10:48:44
    vba制作而成的简易Excel员工信息管理系统,能实现查询添加信息,统计数据,图表显示,生成word文档打印等功能
  • 1、通过本次实习,将理论高度上升到实践高度,更好的实现将本期所学的Excel VAB程序开发理论和实践的结合,更进一步加深对理论知识的理解,了解和掌握实际程序开发中的开发流程、编程原理和规范要求,为今后学习和...
  • vba开发工具栏界面控件设计,方便用户用VBA编程时轻松学习菜单界面的设计
  • excel word 史上最全vba学习资料及源码 1.VBA的那些事儿(必看,不要跳过) 2.宏在工作中的运用 3.VBA基础 4.VBE窗口介绍 5.代码编写规则 17.循环语句之DO UNTIL LOOP 23.跳转语句 29.VBA与运算符
  • EXCEL结合VBA可以实现界面清晰简单的信息管理系统,它不一定要是软件,也不需要考虑安装,只要你有Office办公软件,它就能帮你实现超级实用的信息管理。 界面如下: 表格1是功能界面 表格二是数据库,内容可以...

    你知道吗?EXCEL结合VBA可以实现界面清晰简单的信息管理系统,它不一定要是软件,也不需要考虑安装,只要你有Office办公软件,它就能帮你实现超级实用的信息管理。

    界面如下:

    表格1是功能界面

     表格二是数据库,内容可以无限添加

    实现代码如下:

    Private Sub CommandButton1_Click()
    '处理未指定料号的查询
        If Len(TextBox1.Value) = 0 Then
            MsgBox ("请先指定需要查询的料号!")
            Exit Sub
        End If
     '以料号作为查询条件,获取指定的料号信息所在的行
        Dim row As Long
        row = FindNameRow()
       
        '处理查询不存在的情形
        If row < 1 Then
            MsgBox ("无法查询到料号为" & """" & TextBox1.Value & """" & "的信息,请确认后再试!")
            Exit Sub
        End If
    
        'item指定要填充的字段名,col代表查找该字段所在的列(数字,第几列)
        Dim item As String, col As Integer
        col = FindItemColumn(Worksheets("sheet1").Range("B21").Value)
        Worksheets("sheet1").Range("B22").Value = ThisWorkbook.Sheets(2).Cells(row, col).Value
        col = FindItemColumn(Worksheets("sheet1").Range("C21").Value)
        Worksheets("sheet1").Range("C22").Value = ThisWorkbook.Sheets(2).Cells(row, col).Value
        col = FindItemColumn(Worksheets("sheet1").Range("D21").Value)
        Worksheets("sheet1").Range("D22").Value = ThisWorkbook.Sheets(2).Cells(row, col).Value
        
    End Sub
    '查找指定姓名所在的行
    Function FindNameRow()
    
        '已使用行数
        Dim num As Integer
        num = ThisWorkbook.Sheets(2).Range("A1").CurrentRegion.Rows.Count
    
        '依次测试每个单元格的值,如果是指定值,则返回指定值所在的行
        Dim rng As Range, row As Long
        For Each rng In ThisWorkbook.Sheets(2).Range("A2:A" & num)
            If rng.Value = TextBox1.Value Then
                row = rng.row
                Exit For
            End If
        Next
    
        FindNameRow = row
    
    End Function
    
    '查找各字段所在的列(数值,第几列)
    Function FindItemColumn(item)
    
        '已使用区域列数
        Dim num As Integer
        num = ThisWorkbook.Sheets(2).Range("A1").CurrentRegion.Columns.Count
    
        '依次测试包含字段名的单元格区域,如果是指定字段名,则返回所在的列(数值,第几列)
        Dim rng As Range, col As Integer
        For Each rng In ThisWorkbook.Sheets(2).Range("A1", ThisWorkbook.Sheets(2).Cells(1, num))
            If rng.Value = item Then
                col = rng.Column
                Exit For
            End If
        Next
    
        FindItemColumn = col
    
    End Function
    
    Private Sub CommandButton2_Click()
    TextBox1.Text = ""
    Range("B22:K22").ClearContents
    End Sub
    
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    
    If KeyCode = 13 Then CommandButton1_Click
    
    End Sub
    展开全文
  • VBA 简易考试系统

    千次阅读 2020-05-24 10:31:01
    VBA 简易考试系统 界面 思想流程 代码 链接: 答题系统excel下载 界面 考试界面设计 题库 思想流程 界面设计 题目导入 split分离字段 导入界面 填写代码 代码 // 模块 Sub xieru() Dim str As String str = Sheet2....

    VBA 简易考试系统

    链接: 答题系统excel下载

    界面

    考试界面设计
    考试界面
    在这里插入图片描述
    在这里插入图片描述
    题库
    题库

    思想流程

    界面设计
    题目导入
    split分离字段
    导入界面
    填写代码

    代码

    // 模块
    Sub xieru()
    Dim str As String
    str = Sheet2.TextBox1.Value
    
    With Sheet2
        '将题目写入题库,题目格式为:
        '1、( )是人们在实践中形成的具有实现可能性的对未来的向往和追求,是人们在世界观、人生观和价值观在奋斗目标上的集中体现。
    A.信念     B.信仰    C.兴趣     D.理想
        For i = 1 To Sheet2.Range("a65536").End(xlUp).Row - 1
            .Range("a" & i + 1) = Split(Split(str, i & "、")(1), i + 1 & "、")
        Next
                
        For i = 2 To Sheet2.Range("a65536").End(xlUp).Row
            .Range("b" & i) = Split(Range("a" & i), "A")(0)
            .Range("c" & i) = Split(Split(Range("a" & i), "A.")(1), "B")
            .Range("d" & i) = Split(Split(Range("a" & i), "B.")(1), "C")
            .Range("e" & i) = Split(Split(Range("a" & i), "C.")(1), "D")
            .Range("f" & i) = Split(Range("a" & i), "D.")(1)
        Next
    End With
    End Sub
    
    
    Sub data(i As Integer)
    With Sheet4
        '设置spinbutton的最大值
        .SpinButton1.Max = Sheet2.Range("a65536").End(xlUp).Row - 1
        
        '清空4个选项
        .OptionButton1.Value = False
        .OptionButton2.Value = False
        .OptionButton3.Value = False
        .OptionButton4.Value = False
    
        '写入题目
        .Label7.Caption = i
        .Label2.Caption = Sheet2.Range("b" & i + 1)
        .Label3.Caption = Sheet2.Range("c" & i + 1)
        .Label4.Caption = Sheet2.Range("d" & i + 1)
        .Label5.Caption = Sheet2.Range("e" & i + 1)
        .Label6.Caption = Sheet2.Range("f" & i + 1)
        
        '隐藏该隐藏的
        If .Label5.Caption = "" Then
            .OptionButton3.Visible = False
        Else
            .OptionButton3.Visible = True
        End If
        
        
        If .Label6.Caption = "" Then
            .OptionButton4.Visible = False
        Else
            .OptionButton4.Visible = True 
        End If
        
        '返回之前的答案
        If Sheet2.Range("h" & i + 1) = "A" Then
            .OptionButton1.Value = True
        ElseIf Sheet2.Range("h" & i + 1) = "B" Then
            .OptionButton2.Value = True
        ElseIf Sheet2.Range("h" & i + 1) = "C" Then
         .OptionButton3.Value = True
        ElseIf Sheet2.Range("h" & i + 1) = "D" Then
         .OptionButton4.Value = True
        End If
        
    End With
    End Sub
    
    Sub time1()
    	Range("g2") = (TimeValue(Format(time(), "h:mm:ss")) - TimeValue(Format(Sheet4.Range("g1"), "h:mm:ss")))
    	runtimer
    End Sub
    
    
    Sub runtimer()
    	Application.OnTime Now() + TimeValue("00:00:01"), procedure:="time1"
    End Sub
    
    // 按钮设置
    Private Sub CommandButton1_Click()
        '计算正确与错误的题目
        For i = 2 To Sheet2.Range("a65536").End(xlUp).Row
            If Sheet2.Range("g" & i) = Sheet2.Range("h" & i) Then
                k = k + 1
            Else
                l = l + 1
            End If
        Next
        
        Application.OnTime Now() + TimeValue("00:00:01"), procedure:="time1", Schedule:=False
        MsgBox "你对了" & k & "题," & "你错了" & l & "" & Chr(10) & "总共用时" & Format(Sheet4.Range("G2"), "h:mm:ss"), 1, "总计"
        
        '设置按钮与选择按钮不可再次点击
        Sheet4.OptionButton1.Enabled = False
        Sheet4.OptionButton2.Enabled = False
        Sheet4.OptionButton3.Enabled = False
        Sheet4.OptionButton4.Enabled = False
        Sheet4.CommandButton1.Enabled = False
        
        '将所答的答案与正确答案显示出来
        For i = 1 To Sheet2.Range("a65536").End(xlUp).Row - 1
            Sheet4.Range("a" & i) = Sheet2.Range("h" & i)
            Sheet4.Range("b" & i) = Sheet2.Range("g" & i)
            If Sheet4.Range("a" & i) <> Sheet2.Range("g" & i) Then
                Sheet4.Range("a" & i).Interior.Color = 65535
            End If
        Next
                
    End Sub
    
    Private Sub CommandButton2_Click()
    '回到第一题
    Sheet4.SpinButton1.Value = 1
    Call data(Sheet4.SpinButton1.Value)
    End Sub
    
    Private Sub CommandButton3_Click()
    '回到最后一题
    Sheet4.SpinButton1.Value = Sheet2.Range("a65536").End(xlUp).Row - 1
    Call data(Sheet4.SpinButton1.Value)
    End Sub
    
    Private Sub CommandButton4_Click()
    '再次答题
        Sheet4.OptionButton1.Enabled = True
        Sheet4.OptionButton2.Enabled = True
        Sheet4.OptionButton3.Enabled = True
        Sheet4.OptionButton4.Enabled = True
        Sheet4.CommandButton1.Enabled = True
        Sheet4.Range("a1:b18").ClearContents
        Sheet2.Range("h2:h18").ClearContents
        Sheet4.Range("a1:a18").Interior.ThemeColor = xlThemeColorDark1
    End Sub
    
    Private Sub CommandButton6_Click()
    '计算考试用时
    Range("G1") = Format(time(), "h:mm:ss")
    Call time1
    End Sub
    
    Private Sub OptionButton1_Click()
    Sheet2.Range("h" & Sheet4.SpinButton1.Value + 1) = "A"
    End Sub
    
    Private Sub OptionButton2_Click()
    Sheet2.Range("h" & Sheet4.SpinButton1.Value + 1) = "B"
    End Sub
    
    Private Sub OptionButton3_Click()
    Sheet2.Range("h" & Sheet4.SpinButton1.Value + 1) = "C"
    End Sub
    
    Private Sub OptionButton4_Click()
    Sheet2.Range("h" & Sheet4.SpinButton1.Value + 1) = "D"
    End Sub
    
    Private Sub SpinButton1_Change()
    Call data(Sheet4.SpinButton1.Value)
    End Sub
    
    展开全文
  • 抽奖系统EXCEL VBA

    2019-01-09 11:47:33
    使用EXCEL VBA制作的抽奖系统 年底到了,春节近了。各种迎新晚会、团拜会开始扎堆,过节气氛越来越浓。这几年来筹备了多次团拜会,每次的抽奖活动都是自己用Excel做工具来解决的。为了增强抽奖工具的通用性,也为了...
  • 自制vba抽奖系统

    2018-07-13 15:48:16
    可用于年会抽奖,代码简单,可自己修改,如有疑问可以私信
  • VBA的字典类,苹果MAC系统可用,解决了苹果VBA编程中对字典对象不兼容的问题。
  • 该文件为Excel为基础的VBA开发应用和实例额,方便希望使用Excel进行相应的数据开发和存储及连接的使用,参考,需要用到Excel的Visual basic Application
  • VBA抽奖系统(漂亮)、可设置特等奖,1-n等奖,且可设置每个等级抽取人数,界面漂亮,自动保存抽奖结果,自动保存设置参数,指出导入抽奖名单等等
  • VBA日程安排系统

    2018-12-22 20:58:56
    VBA写一个日程安排系统。用的是excel。
  • No.1VBA编程中,获取日期是一个简单的功能,同样对日期进行增减计算处理也是个容易的操作。本节我们来了解一下关于计算机系统日期的一些操作。DateAdd函数如上图所示,DateAdd是一个函数名。可以简单理解为日期相加...

    No.1

    VBA编程中,获取日期是一个简单的功能,同样对日期进行增减计算处理也是个容易的操作。

    本节我们来了解一下关于计算机系统日期的一些操作。

    26e78982d5863df0ac902fc83a024907.png

    DateAdd函数

    如上图所示,DateAdd是一个函数名。

    可以简单理解为日期相加。

    也就是说根据某个日期进行增加或减少某个数值之后返回一个日期。

    这样,就得到了一个新的日期值。

    比如,要以当前日期为基准,退后3天,那么就是在当前日期增加3天。

    代码如下:

    DateAdd("d",3,Date)

    DateAdd函数详细语法和参数,如下图所示:

    2860716e3f95a2b04aef7db95b0c4744.png

    No.2

    DateAdd函数语法:

    DateAdd(interval, number, date)

    其中参数inerval限定了相加的类型,如以天为单位相加参数"d",月为单位相加参数为"m",可参考上图进行设置。

    number是一个数值,也就是时间间隔多少值,这个参数可以为正值,也可以负值,但必须是个整数long。

    当然此参数还有一些规定,如果计算的日期位于年份数 100 前,也就是说减去年份数之后的结果必须大于等于100,否则会出现错误。

    如:

    Dim NextDate As Date

    NextDate = DateAdd("yyyy", -1921, "2021-2-15")

    MsgBox NextDate'返回"100/2/15"

    -1921就是可以减去的最多年份,如果改成小于等于-1922则报错。

    也就是说不能得到小100的年份,至于是什么原因造成这个结果?恐怕只有微软知道。

    eb0a3717ffb1b0a4e5b4d3fc76ee1558.png

    No.3

    Date函数

    这个函数还是有一定意义的,比如设置某个年份为基准,向后推移2年。直接在这个年份之上加2就可以了。

    那么还有一个特别重要的日期函数,要掌握。

    那就是Date函数。

    此函数没有参数,直接返回当前系统日期。

    可使用如下代码:

    Msgbox Date'输出当前日期

    700f5391577dad77538a7421332a13a8.png

    No.4

    Date语句

    重点:Date函数和Date语句是两个概念。

    函数用于取日期,语句用于设置日期。

    一个是获取Get,一个是设置Set。

    理解清楚之后,就可以使用不同的Date函数和语句进行不同的代码表达。

    如果,想要设置当前系统日期为2020年12月25日。

    可以使用如下语句:

    Date="2020-12-25"

    使用方法很简单,问题在于要对概念进行正确理解。

    No.5

    设置系统日期

    Private Sub SetDate()Dim NowDate As DateNowDate = Application.InputBox("设置日期", "输入日期", VBA.Format(Date, "yyyy-mm-dd"))If Not IsDate(NowDate) Then Exit SubDate = NowDateEnd Sub

    查看当前日期后3年的日期

    Private Sub GetYear()Dim NextDate As DateNextDate = DateAdd("yyyy", 3, Date)MsgBox NextDateEnd Sub

    查看当前日期3天前的日期

    Private Sub GetUpDate()Dim NextDate As DateNextDate = DateAdd("d", -3, Date)MsgBox NextDateEnd Sub

    日期功能函数和语句是个简单的功能,但也是一个很重要的函数,必要掌握的一个知识。

    所以,特别拿来整理学习一下。

    欢迎关注、收藏。

    举报/反馈

    展开全文
  • VBA版窗口录入学生成绩管理系统.xlsm
  • VBA简易记账系统,收入,支出,结余,支持增加、删除和统计
  • EXCEL VBA 系统教程

    2012-04-24 13:55:50
    关于VBA的教程,很好,入门系统,没的说啊,详细,清楚,明白三顶顶顶顶
  • EXCEL_VBA制作员工考勤系统源码 适用环境:EXCEL2003/2007/2010 大家下载下来,可以设置断点调适运行代码,学习VBA的编程。 也可以直接使用,这个是员工考勤系统
  • 进销存管理系统,基于excel和VBA实现
  • VBA 常见系统编程代码

    2013-11-10 17:31:27
    对常见VBA系统代码的收集,包括人力资源系统、企业管理系统等,比较齐全,欢迎参考。
  • 用EXCEL VBA开发的仓库管理系统

    热门讨论 2011-11-18 03:03:04
    非常简单的EXCEL版仓库管理系统。符合大多数公司的实际管理需要。可以好好研究一下。
  • VBA工资管理系统.xlsm

    2021-04-23 23:31:08
    VBA工资管理系统
  • 进销存管理系统,基于excel和VBA实现
  • VBA考勤系统

    2015-11-20 10:20:14
    VBA考勤系统 班别 AM PM 早 9:00 15:00 中 11:30 18:00 晚 15:00 21:30 休 P 5
  • VBA函数大全(自己整理的) 里面整理了vba所有内置函数 方便查阅

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,217
精华内容 6,486
关键字:

vba系统