Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2157|回复: 3

[已解决]求解释代码红色部分该如何修改?

[复制链接]
发表于 2016-2-22 09:27 | 显示全部楼层 |阅读模式
本帖最后由 lingyuncelia1 于 2016-2-23 20:31 编辑

1.jpg

A1:I1区间任何单元格的数据,只要包含k1单元格数据中的任意二个数字即为满足条件,36号字体显示且保留这两个特定的数字。这两个数字必须两次出现都在一起。
变成下图:

2.jpg

哪位大神可以帮忙解答?Sub ba()
Dim reg, s As Range, m
Set reg = CreateObject("vbscript.regexp")
With reg
    .Global = True
    .Pattern = "[" & [k1] & "]"
    For Each s In Range("a1:i1")
        Set m = .Execute(s.Value)
        If m.Count >= 2 Then
            s.Font.Size = 36
Range(s.Address) = m.Item(0).Value & m.Item(1).Value   ‘发觉这里无法保留特定的2个数字        
        End If
    Next
End With
Set reg = Nothing
End Sub

最佳答案
2016-2-22 10:28
本帖最后由 JX_shangrila 于 2016-2-22 10:33 编辑

不能省略前面的循环代码,没有这个循环,匹配的是1567,有这个循环分别匹配的是1,5,6,7
For i = 1 To Len(Cells(1, 11))
        If b = "" Then b = Mid(Cells(1, 11), i, 1) Else b = b & "," & Mid(Cells(1, 11), i, 1)
  Next




求解.zip

11.06 KB, 下载次数: 6

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-2-22 10:28 | 显示全部楼层    本楼为最佳答案   
本帖最后由 JX_shangrila 于 2016-2-22 10:33 编辑

不能省略前面的循环代码,没有这个循环,匹配的是1567,有这个循环分别匹配的是1,5,6,7
For i = 1 To Len(Cells(1, 11))
        If b = "" Then b = Mid(Cells(1, 11), i, 1) Else b = b & "," & Mid(Cells(1, 11), i, 1)
  Next




1.gif

评分

参与人数 1 +1 收起 理由
lingyuncelia1 + 1 很给力

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-2-22 18:53 | 显示全部楼层
JX_shangrila 发表于 2016-2-22 10:28
不能省略前面的循环代码,没有这个循环,匹配的是1567,有这个循环分别匹配的是1,5,6,7
For i = 1 To Len(Ce ...

谢谢您的宝贵意见。在这里,省略也无妨,因为我其实是想要个同行隐含数对代码,是数独的其中一个解法,各个单元格的数字都不会重复,且从小到大排列,K1的数字其实是指A1到I1中,由1到9,数字出现2次的都填在K1中。然后,从K1中任意组合的2个数字,如果2次都一起出现,即保留这2个特定的数字。我前后变着法子问过N多人,都发觉无效。要不就对某些数据有效,有些无效。
回复

使用道具 举报

发表于 2016-2-23 12:57 | 显示全部楼层
奥,是玩数字游戏,按您的文字资料来看,应该要用递归算法了,仅这么点文字资料不太清楚您的具体要求,希望详细说明和提供附件资料。

评分

参与人数 1 +1 收起 理由
lingyuncelia1 + 1 谢谢赐教

查看全部评分

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-4 20:15 , Processed in 0.866094 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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