Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: laoau138

[VBA] 用VBA判断平行四边形填充绿色底单元格

[复制链接]
发表于 2016-10-2 18:28 | 显示全部楼层
laoau138 发表于 2016-10-2 18:10
高手再看这个

用VBA推算组成平行四边形最后一个数字

赶紧给grf1973老师评最佳,他没给你单元格变颜色是因为没法变,重复单元格太多,要变全都变了,没意义,显示组合你能看得更清楚
回复

使用道具 举报

 楼主| 发表于 2016-10-2 18:31 | 显示全部楼层
today0427 发表于 2016-10-2 18:28
赶紧给grf1973老师评最佳,他没给你单元格变颜色是因为没法变,重复单元格太多,要变全都变了,没意义, ...

别急了,立即最佳答案,
回复

使用道具 举报

发表于 2016-10-2 18:53 | 显示全部楼层
回复

使用道具 举报

发表于 2016-10-2 20:00 | 显示全部楼层
today0427 发表于 2016-10-2 18:26
大神,有空帮我看看为什么我的结果比你少了好多组,查看了你的结果确实对着,但是我的代码哪里有漏洞了? ...

你得把你的思路介绍一下,代码加一点说明,尤其是2个函数实现什么功能。
读程序比自己编要难得多。
回复

使用道具 举报

发表于 2016-10-2 20:11 | 显示全部楼层
本帖最后由 today0427 于 2016-10-2 20:13 编辑
grf1973 发表于 2016-10-2 20:00
你得把你的思路介绍一下,代码加一点说明,尤其是2个函数实现什么功能。
读程序比自己编要难得多。

我已经找到原因了大神,咱俩对十行的理解不一样,您理解为从第一行往下再找10行,我理解的是包含第一行在内共找10行,因此,对于循环的最大下标限定不一样,所以结果不同。
函数我也不懂,照猫画虎,糊里糊涂做的,我是担心在一个子过程中循环嵌套太多我会被自己给绕进去,所以分开来做了

回复

使用道具 举报

发表于 2016-10-6 21:47 | 显示全部楼层
最简单的方法,列出所有组合,一个个去校验代码如下:
Sub peng()
rw = Range("a65536").End(3).Row
ar = Range("e11:t" & rw)
ReDim br(1 To UBound(ar), 1 To 2)
Dim cr(1 To 100000, 1 To 2)
For i = 1 To UBound(ar)
    For j = 1 To UBound(ar, 2)
        If ar(i, j) <> "" Then
            br(i, 1) = i: br(i, 2) = j
            Exit For
        End If
    Next
Next
For a = 1 To UBound(ar) - 9
    For b = a + 1 To a + 7
        For c = b + 1 To a + 8
            For d = c + 1 To a + 9
                If a - b = c - d And br(a, 2) - br(c, 2) = br(b, 2) - br(d, 2) Then
                n = n + 1
                cr(n, 1) = br(a, 2) & "|" & br(b, 2) & "|" & br(c, 2) & "|" & br(d, 2)
                cr(n, 2) = a & "|" & b & "|" & c & "|" & d
                End If
            Next
        Next
    Next
Next                  
Cells(11, 23).Resize(n, 2) = cr
End Sub

评分

参与人数 2 +9 收起 理由
laoau138 + 3 什么时候又跑过来了,狗妹,给你加3分
today0427 + 6 对比学习神马的我最喜欢了,谢谢大神出手!

查看全部评分

回复

使用道具 举报

发表于 2016-10-6 22:05 | 显示全部楼层
pengyx 发表于 2016-10-6 21:47
最简单的方法,列出所有组合,一个个去校验代码如下:
Sub peng()
rw = Range("a65536").End(3).Row

大神,你看看那个垂直对角线的题目,有没有什么简便的办法
回复

使用道具 举报

发表于 2016-10-6 22:15 | 显示全部楼层
垂直对角线的题目,在什么地方
回复

使用道具 举报

发表于 2016-10-6 22:45 | 显示全部楼层
pengyx 发表于 2016-10-6 22:15
垂直对角线的题目,在什么地方

http://www.excelpx.com/thread-424862-1-1.html这个,我想了半天,感觉自己做出来会比他原来自带的那个还要复杂,有没有什么简单巧妙的思路
回复

使用道具 举报

 楼主| 发表于 2016-10-7 19:37 | 显示全部楼层
本帖最后由 laoau138 于 2016-10-7 22:49 编辑
today0427 发表于 2016-10-6 22:45
http://www.excelpx.com/thread-424862-1-1.html这个,我想了半天,感觉自己做出来会比他原来自带的那个 ...

这题有答案
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 09:42 , Processed in 0.421562 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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