Excel精英培训网

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

[VBA] VBA改正N列错误

[复制链接]
发表于 2016-9-22 17:52 | 显示全部楼层 |阅读模式
本帖最后由 laoau138 于 2016-10-3 13:03 编辑

VBA改正N列错误

公式没有错,表格有问题导致结果出错,改正过来了

答案看一楼或者三楼


本帖子中包含更多资源

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

x
发表于 2016-9-22 19:53 | 显示全部楼层
本帖最后由 today0427 于 2016-9-22 20:08 编辑

改了一下,你看看对不对,和你的函数结果对不上,但是我查看了一下,我的结果好像没错,你自己再看看吧。

  1. Sub asdf()
  2. Dim w, maxr, prv, rs, nr, nc, redtmp
  3.     w = Range("L8")
  4.     Dim redn(33) As Integer
  5.     maxr = Range("A65536").End(xlUp).Row
  6.     Debug.Print maxr
  7.     prv = CInt(Range("p8"))
  8.     rs = maxr - prv
  9.     For nr = 10 To rs
  10.         If Range("J" & nr) = w Then
  11.             For nc = 1 To 6
  12.                 redtmp = CInt(Range(Chr(66 + nc) & nr))         'Chr66代表B
  13.                 redn(redtmp) = redn(redtmp) + 1
  14.             Next
  15.         End If
  16.     Next

  17.     For i = 0 To 32
  18.         Range("N" & 11 + i) = redn(i + 1)
  19.     Next
  20. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
laoau138 + 3 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-9-22 21:27 | 显示全部楼层
本帖最后由 laoau138 于 2016-10-3 13:02 编辑
today0427 发表于 2016-9-22 19:53
改了一下,你看看对不对,和你的函数结果对不上,但是我查看了一下,我的结果好像没错,你自己再看看吧。
...

  果然是高手      
公式没有错,但结果错了, 主要是表格有问题,
让A列保留,并删除多余字符,可以得到正确答案

这一句什么意思 For nr = 10 To maxr - prv


本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2016-9-22 21:53 | 显示全部楼层
你这个代码变量好多,写的很深奥,我半天看不懂,区分那些变量花了我好长时间,10是起始行号,maxr是数据的最末行号,prv是p8中不能计数的行数,所以For nr = 10 To maxr - prv意思是从第10行开始统计,一直统计到最末行减去不能被统计的行数的行,比方说,数据一共写到了20行,p8要求不能计算后4行,那么就要从第10行开始,一直统计到20-4=16第16行就够了

评分

参与人数 1 +3 收起 理由
laoau138 + 3 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-9-22 22:01 | 显示全部楼层
today0427 发表于 2016-9-22 21:53
你这个代码变量好多,写的很深奥,我半天看不懂,区分那些变量花了我好长时间,10是起始行号,maxr是数据的 ...

这个代码计算机专业人员,用VB语法写出来,  

最初这个代码更难懂,我改了几句,

实在太迟钝了,起初行号也想不到
回复

使用道具 举报

发表于 2016-9-22 22:01 | 显示全部楼层
today0427 发表于 2016-9-22 21:53
你这个代码变量好多,写的很深奥,我半天看不懂,区分那些变量花了我好长时间,10是起始行号,maxr是数据的 ...

这个其实R列根本就没用,因为C列到H列的数,R列都有。所以只用DIM一个32的数组,统计一下每个数出现的次数,再写到N列就行了

评分

参与人数 2 +9 收起 理由
today0427 + 6 后面其实我就看不下去了,我的水平看的好费.
laoau138 + 3 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-9-22 22:03 | 显示全部楼层
pengyx 发表于 2016-9-22 22:01
这个其实R列根本就没用,因为C列到H列的数,R列都有。所以只用DIM一个32的数组,统计一下每个数出现的次 ...

你太有才了,妹子你写过来,看看
回复

使用道具 举报

发表于 2016-9-22 22:18 | 显示全部楼层
laoau138 发表于 2016-9-22 22:03
你太有才了,妹子你写过来,看看

她真的很棒的!我也要好好学!
回复

使用道具 举报

 楼主| 发表于 2016-9-22 22:24 | 显示全部楼层
today0427 发表于 2016-9-22 22:18
她真的很棒的!我也要好好学!

难道她比你厉害
回复

使用道具 举报

发表于 2016-9-22 22:27 | 显示全部楼层
本帖最后由 today0427 于 2016-9-22 22:30 编辑

废话哈哈哈……这都看不出来,笨死……
你要是把大神们都得罪光了,就没人给你写代码了就剩我等小喽啰了,难题没人给你答了!

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 05:25 , Processed in 0.245930 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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