小春网

 找回密码
 注册账号
楼主: 陈酿
收起左侧

[IT 交流] 这个循环怎么改

[复制链接]
发表于 2011-12-10 18:19:30 | 显示全部楼层
陈酿 发表于 2011-12-10 17:34
能在详细一些吗,书到用时方恨少啊,愁死了

不是那行换位置,是把结果写其他地方。一会发个给你哈
回复

使用道具 举报

 楼主| 发表于 2011-12-10 18:42:56 | 显示全部楼层
sundf 发表于 2011-12-10 18:19
不是那行换位置,是把结果写其他地方。一会发个给你哈

十分感谢,女生当程序员了不起!!!

点评

迷糊也是这么想滴,8过迷糊也是滴  发表于 2011-12-10 19:03
回复

使用道具 举报

发表于 2011-12-10 18:46:03 | 显示全部楼层
陈酿 发表于 2011-12-10 18:42
十分感谢,女生当程序员了不起!!!

我是男的
回复

使用道具 举报

 楼主| 发表于 2011-12-10 18:50:11 | 显示全部楼层
sundf 发表于 2011-12-10 18:46
我是男的

说话太有礼貌了,不好意思
回复

使用道具 举报

发表于 2011-12-10 19:01:51 | 显示全部楼层
陈酿 发表于 2011-12-10 18:50
说话太有礼貌了,不好意思

我一直很有礼貌的,哈哈
改了一下,把i和j的循环位置换了下,就是把你原来按行操作改成了按列操作。
不过没试过。。。

Dim TmpArray()

For k = St To Si
        ReDim TmpArray(mstarting(k) + ma(k) - 1)
            For j = 2 To n - Descolumncount
            For i = mstarting(k) To mstarting(k) + ma(k) - 1
                For l = mstarting(k) To mstarting(k) + ma(k) - 1
                    If Cells(i, j) = Cells(l, j) Then
                        rcount = rcount + 1
                    End If
                Next l
                TmpArray(i) = rcount / ma(k)
                'Cells(i, j) = rcount / ma(k)
                rcount = 0
            Next i
            For i = mstarting(k) To mstarting(k) + ma(k) - 1
                Cells(i, j) = TmpArray(i)
            Next i
            Next j
    Next k
   

评分

参与人数 1 +30 收起 理由
憨吃迷糊睡 + 30 赞一个

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2011-12-10 19:03:34 | 显示全部楼层
sundf 发表于 2011-12-10 19:01
我一直很有礼貌的,哈哈
改了一下,把i和j的循环位置换了下,就是把你原来按行操作改成了按列操作。
不过 ...
  1. 能用代码模式贴出来吗。。。。


复制代码
回复

使用道具 举报

发表于 2011-12-10 19:06:59 | 显示全部楼层
  1. Dim TmpArray()

  2. For k = St To Si
  3.         ReDim TmpArray(mstarting(k) + ma(k) - 1)
  4.             For j = 2 To n - Descolumncount
  5.             For i = mstarting(k) To mstarting(k) + ma(k) - 1
  6.                 For l = mstarting(k) To mstarting(k) + ma(k) - 1
  7.                     If Cells(i, j) = Cells(l, j) Then
  8.                         rcount = rcount + 1
  9.                     End If
  10.                 Next l
  11.                 TmpArray(i) = rcount / ma(k)
  12.                 'Cells(i, j) = rcount / ma(k)
  13.                 rcount = 0
  14.             Next i
  15.             For i = mstarting(k) To mstarting(k) + ma(k) - 1
  16.                 Cells(i, j) = TmpArray(i)
  17.             Next i
  18.             Next j
  19.     Next k
  20.    
复制代码


回复

使用道具 举报

 楼主| 发表于 2011-12-10 19:16:44 | 显示全部楼层
sundf 发表于 2011-12-10 19:01
我一直很有礼貌的,哈哈
改了一下,把i和j的循环位置换了下,就是把你原来按行操作改成了按列操作。
不过 ...

程序运行通过,十分感谢。可惜二位不是女的,要不然我还想追一个呢
回复

使用道具 举报

发表于 2011-12-10 19:17:59 | 显示全部楼层
陈酿 发表于 2011-12-10 19:16
程序运行通过,十分感谢。可惜二位不是女的,要不然我还想追一个呢

让你失望了
回复

使用道具 举报

 楼主| 发表于 2011-12-10 19:46:47 | 显示全部楼层
sundf 发表于 2011-12-10 19:17
让你失望了

才发现,朋友给写的下一步程序也有问题。。。。
回复

使用道具 举报

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

本版积分规则

小春网
常务客服微信
微信订阅号
手机客户端
扫一扫,查看更方便! 快速回复 返回顶部 返回列表