设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12345下一页
返回列表 发新帖
查看: 21981|回复: 49
打印 上一主题 下一主题

[基础应用] 求助EXCEL.制做宏.实现以下功能

[复制链接]
跳转到指定楼层
1#
发表于 2006-9-4 23:47:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问 : 想作一个"宏"自定义菜单按钮,想实现的功能是

例如在EXCEL表中有A1字段名是型号。B1字段是名品种。C1字段名是类别

               型号                            品种                          类别

C2Q050-05-51654               制品                             量产品                     

12Q050-05-51654               制品

C2Q050-05-59444              制品                           量产品

就是以型号“C2Q”开头的,并且品种是“制品”是数据。点一下按钮。类别字段列就出现“量产品”               

     

[此贴子已经被作者于2006-9-4 15:49:29编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2006-9-5 00:21:00 | 只看该作者



传一个具体例子。愿高手帮我作一下

如:有两种情况

1.我上传的表中,型号字段有CK开头的。点一下按钮类别字段的列就会显示“量产品”

2.型号是以 “—XL”结尾的,并且“品种字段”不是治具的。就显示“其它”

望高手们救救命啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
发表于 2006-9-5 22:26:00 | 只看该作者
用公式就可以了

=IF(LEFT(B16,2)="CK","量产品",IF(AND(RIGHT(B16,3)="-XL",A16<>"治具"),"其它",""))
4#
 楼主| 发表于 2006-9-6 00:00:00 | 只看该作者
谢谢。。不过还有个问题。。也是这种类型的请帮帮忙

CK*   *代表有N个字符  例CK54566 CKasdfd

我想要的是CK*在EXCEL模块中怎么用

还有像 M*BK*    和     C*Q2*100-* 在EXCEL模块中怎么用。。谢谢

我试过用Select Case *号不识别   楼上有附件可否帮我作一下

像这种M*BK*  CK*  和     C*Q2*100-* 都是“量产品" 在模块中怎么表达
5#
发表于 2006-9-6 01:27:00 | 只看该作者
呵呵,3楼的公式不就行了吗?

excel不是数据库,不支持适用SQL查询的
6#
 楼主| 发表于 2006-9-6 16:26:00 | 只看该作者
CK*   *代表有N个字符  例CK54566 CKasdfd

EXCEL像 M*BK*    和     C*Q2*100-* 在EXCEL模块中不支持吗?

我想在EXCEL查找M*BK*    和     C*Q2*100-*  应该怎么办啊?

7#
发表于 2006-9-6 21:36:00 | 只看该作者
Sub main()
Dim a(2, 2) As String
    a(1, 1) = "CK"
    a(1, 2) = "量产品"
    a(2, 1) = "CQ2"
    a(2, 2) = "其他"
    '其余省略
    For i = 1 To Sheets(1).UsedRange.Rows.Count
        For j = 1 To UBound(a)
            If Left(Cells(i, 2), Len(a(j, 1))) = a(j, 1) Then
                Cells(i, 3) = a(j, 2)
            End If
        Next j
    Next i
End Sub
8#
 楼主| 发表于 2006-9-7 00:20:00 | 只看该作者
谢谢。非常感谢
9#
 楼主| 发表于 2006-9-7 00:37:00 | 只看该作者
因为程序没有读懂

可以问下这几行是什么意思吗? For i = 1 To Sheets(1).UsedRange.Rows.Count
                               For j = 1 To UBound(a)
                              If Left(Cells(i, 2), Len(a(j, 1))) = a(j, 1) Then
                               Cells(i, 3) = a(j, 2)
可以问下你,你的QQ是多少交个朋友

10#
发表于 2006-9-7 16:40:00 | 只看该作者
Sheets(1).UsedRange.Rows.Count

返回该工作表使用的行数

UBound(a)

求数组下标长度
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 03:44 , Processed in 0.104865 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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