ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 626|回复: 0

[求助] 新手寻求帮助

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-4-23 01:37 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 a11121321321 于 2018-4-23 01:44 编辑

请问下下列附件内容如何可以实现数字输入选题不用鼠标1下1下点 111.png 代码如下
Option Explicit
Dim Tiku,Lr1 As Long
Private Sub CommandButton1_Click()
    On Error GoTo lin1
    Dim i As Long
    Dim j As Long
    Dim Max1 As Long
    Dim Min1 As Long
    Dim Shitihao
    Dim S As String,X As String
    Dim k As Long。Dim k As Long
    Dim l As Long
    Dim jishu As Long
    Dim time1
    S =Format(Now,“yyyy年mm月”)&“财务人员培训试题”&vbCrLf&vbCrLf&“姓名:__________________部门:________________成绩:____________”&vbCrLf
    X =Format(Now,“yyyy年mm月”)&“财务人员培训试题答案”&vbCrLf
    For i = 0 To Me.ListBox1.ListCount  -  1
        jishu = 0
        Max1 = 999999
        Min1 = 99999
        For j = 2 To Lr1
            If Tiku(j,2)= Me.ListBox1.List(i) Then
                Max1 = j
                If Max1 < Min1 Then
                    Min1 = Max1
                End If
            End If
                万一
            万一
        下一个
        如果CLng(Me.ListBox2.List(i))<=(Max1  -  Min1 + 1)那么
            Shitihao =不重复随机数(Min1,Max1,CLng(Me.ListBox2.List(i)))
        其他
            MsgBox Me.ListBox1.List(i)&“数量不能大于”&(Max1  -  Min1 + 1)&“个”
            结束
        万一
        S = S&vbCrLf&Application.WorksheetFunction.Text(i + 1,“[dbnum1]”)&“,”&Me.ListBox1.List(i)&vbCrLf
        X = X&vbCrLf&Application.WorksheetFunction.Text(i + 1,“[dbnum1]”)&“,”&Me.ListBox1.List(i)&vbCrLf
        对于k = 1到UBound(Shitihao)
            对于l = 3到13
                如果Tiku(Shitihao(k),l)<>“”那么
                    如果l = 3那么jishu = jishu + 1
                    S = S&IIf(l = 3,jishu&“,”,vbCrLf&Space(3))&Tiku(Shitihao(k),l)
                万一
            下一个
            S = S&vbCrLf
            X = X&jishu&“,”&Tiku(Shitihao(k),l)&vbCrLf
        下一个
    下一个
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    使用CreateObject(“Word.Application”)
    time1 =格式(现在,“yyyymmddhhmmss”)
        使用.Documents.Add
            .Paragraphs(1).Range.Text = S
            .SaveAs文件名:= ThisWorkbook.Path&“\”&time1&“培训考试题.doc”
            。关
        结束
        使用.Documents.Add
            .Paragraphs(1).Range.Text = X
            .SaveAs文件名:= ThisWorkbook.Path&“\”&time1&“培训考试题答案.doc”
            。关
        结束
林1:
        如果Err.Number <> 0 Then MsgBox“出错了,请关闭所有打开的文档”
        。放弃
    结束
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    结束
结束小组
Private Sub CommandButton2_Click()
    结束
结束小组
Private Sub ListBox1_Click()
    Me.ListBox2.ListIndex = Me.ListBox1.ListIndex
结束小组
Private Sub ListBox2_Click()
    Me.ListBox1.ListIndex = Me.ListBox2.ListIndex
结束小组
Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    如果Me.ListBox2.ListIndex> = 0那么
        Me.ListBox2.List(Me.ListBox2.ListIndex)= CLng(Me.ListBox2.List(Me.ListBox2.ListIndex))+ 1
    万一
结束小组
Private Sub ListBox2_MouseDown(ByVal Button As Integer,ByVal Shift As Integer,ByVal X As Single,ByVal y As Single)
    如果Me.ListBox2.ListIndex> = 0那么
        如果Button = 2并CLng(Me.ListBox2.List(Me.ListBox2.ListIndex))> 1然后
            Me.ListBox2.List(Me.ListBox2.ListIndex)= CLng(Me.ListBox2.List(Me.ListBox2.ListIndex)) -  1
        万一
    万一
结束小组
Private Sub UserForm_Initialize()
    Dim d1 As Object
    昏暗我很久
    Dim k
    设置d1 = CreateObject(“Scripting.Dictionary”)
    Tiku = ActiveSheet。[a1] .CurrentRegion
    Lr1 = UBound(Tiku)
    对于i = 2到Lr1
        d1(Tiku(i,2))=“”
    下一个
    k = d1.keys
    对于i = 0到d1.Count  -  1
        Me.ListBox1.AddItem k(i)
        Me.ListBox2.AddItem 1
    下一个
    设置d1 =无
结束小组
Private Sub UserForm_QueryClose(取消为整数,CloseMode为整数)
    结束
结束小组
Public Function不重复随机数(小数As Long,大数As Long,个数As Long)
    昏暗我很久
    如果个数>大数 - 小数+ 1则退出函数
    Dim arr()
    ReDim arr(个数 -  1)
    Dim b()As Boolean
    ReDim b(大数 - 小数)
    Dim X As Long,y As Long
    随机化
    对于i = 0到个数 -  1
        做
            X = Int(Rnd *(大数 - 小数+ 1))+小数
            y = X  - 小数
        循环虽然b(y)
        b(y)=真
        arr(i)= X
    接下来我
    不重复随机数= Application.Transpose(Application.Transpose(arr))
结束功能

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-12 04:04 , Processed in 0.017568 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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