loading...


loading...


公告
loading...

Google 全球搜索 本站搜索
我的分类(专题)
loading...

日志更新
loading...

最新评论
loading...

留言板
loading...

链接

Blog信息
loading...




Google 网上论坛 Beta 版
订阅 excelblogger
电子邮件:
访问此论坛





my e-mail:xhdsxfjy@163.com



窗体组合框和选项按钮的使用
fanjy 发表于 2008-6-11 21:13:00

本例使用了组合框和选项按钮跟踪和调整物品的状态,如下图所示。当在组合框中选择相应的物品后,下面的方框上方的文字会相应改变为该组合框物品名称,方框中的选项按钮根据该物品是否充足进行相应的选择。同时,在组合框中选择物品后,如果更改方框中选项按钮的状态,则下方库存状态列表中的文字也相应更改。单元格区域B11:C18为物品及相应的库存状态列表。
例如,在组合框中选择物品“潜水泵”,单元格B5会显示“潜水泵 充足还是不充足?”,因为在B11:C18中的潜水泵库存状态为充足,所以方框中名为“充足”的选项按钮被选中。此时,若将选项按钮更改为名为“不足”的选项按钮,那么B11:C18中潜水泵所对应的库存状态也会更改为“不足”。

下面来看看这个示例是如何实现的。
第一步:在工作表中放置一个组合框、两个选项按钮,并调整格式如上图。在B11:C18区域录入数据,当然可以将数据录入到工作表的其他区域或其他工作表中,并且可以为区域命名,以方便调用和扩展。在本例中,为了演示方便,将数据区域与窗体控件放置在一起。
第二步:设置组合框,如下图所示。
 
第三步:设置选项按钮,将选项按钮的单元格链接为C8。
第四步:设置单元格B5,使之显示相关的提示信息。在单元格B5中输入公式:
=INDEX(B12:B18,D3) & " 充足还是不充足?"
第五步:编写组合框和选项按钮相关联的代码。在VBE的标准模块中输入下面的代码:
Sub GetStates()
    Dim ws As Worksheet
    Dim iWPNumber As Integer
    Dim sStates As String
    On Error Resume Next
    Set ws = ThisWorkbook.Worksheets("组合框示例")
    iWPNumber = ws.Range("D3")
    '获取组合框中当前所选物品的状态
    sStates = ws.Range("B11").Offset(iWPNumber, 1)
    If sStates = "充足" Then
        '激活名为"充足"的选项按钮
        ws.Range("C8").Value = 1
    Else
        '激活名为"不足"的选项按钮
        ws.Range("C8").Value = 2
    End If
    Set ws = Nothing
End Sub

Sub SetStates()
    Dim ws As Worksheet
    Dim iWPNumber As Integer
    On Error Resume Next
    Set ws = ThisWorkbook.Worksheets("组合框示例")
    iWPNumber = ws.Range("D3")
    If ws.Range("C8").Value = 1 Then
        '更新物品的状态为充足
        ws.Range("B11").Offset(iWPNumber, 1).Value = "充足"
    Else
        '更新物品的状态为不足
        ws.Range("B11").Offset(iWPNumber, 1).Value = "不足"
    End If
    Set ws = Nothing
End Sub
其中,GetStates过程为组合框对应的宏代码,当组合框选项发生变化时更改对应的选项按钮。SetStates过程为选项按钮对应的宏代码,当组合框选项选定后,更改选项按钮设置时,相应更改库存列表中物品的库存状态。
第六步:为组合框指定宏为GetStates,为两个选项按钮指定宏为SetStates。
本文同时发表于完美Excel

阅读全文 | 回复(0) | 引用通告 | 编辑
 


发表评论:

    大名:
    密码:
    主页:
    标题:
    loading...


fanjy的博客

Powered by Oblog.