24小时热门版块排行榜    

查看: 1856  |  回复: 10

VChang

木虫 (正式写手)

[求助] 选择某一范围内强度最大的数赋值,怎么用VB编程啊,谢谢

我想用VB编一个程序,就是某一范围内有几个数满足要求,我想选强度最大的数赋值。比如在13N偏差0.5的范围内有以下几组数据:

12.6         20
12.7         50
12.9         70
13.4                60
13.2                80


25.8               95
25.9               75
26               86
26.2              100
26.4              60
我想让80和100分别赋给13N(N=1和2时),请问怎么用VB编程使之适用于其余的13N的情况啊?本人不懂编程,烦请相助,若编好了可以追加金币至50个,谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
要求不太清楚,是不是只要左边是13N偏差0.5右边的就写成80或者100?

» 本帖已获得的红花(最新10朵)

2楼2012-09-14 08:30:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

VChang

木虫 (正式写手)

送鲜花一朵
引用回帖:
2楼: Originally posted by anntoy at 2012-09-14 08:30:44
要求不太清楚,是不是只要左边是13N偏差0.5右边的就写成80或者100?

不是的,比如在12.5~13.5,25.5~26.5,38.5~39.5等等的各个范围内都有几个数满足要求,如12.6,12.7,12.9,13.4,13.2等,这几个数分别对应一个纵坐标强度。然后我想选择这几个数对应的纵坐标强度最高的那个数赋值给13N。不是说只要左边是13N偏差0.5右边的就写成80或者100,而是根据一系列的13,26,39,52~~中最大值,不一定是80或者100,也许39中对应的最大值是90的,就是数太多了,不想一个个的找某一范围内对应的最大值。
谢谢你的关注,烦请相助。
3楼2012-09-14 11:30:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

vb我这儿也没有编译环境,而且还要考虑输入输出,你可以用excel处理一下
未命名.PNG(104.03KB)
http://kuai.xunlei.com/d/GBKKHLEEQURE?p=130497
新建 Microsoft Excel 工作表.xlsx(11.8KB)
http://kuai.xunlei.com/d/GGUEPUMHWJFN?p=130497
4楼2012-09-15 09:26:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★
VChang: 金币+5, ★★★很有帮助, 谢谢,先给5个金币,要是能弄成EXCEL的宏就更好了。 2012-09-15 13:49:51
xzhdty: 金币+1, 谢谢参与 2012-09-15 20:29:08
你可以先看那个图片,区域1是你的数据,两列,我又添加了几项你的到时候会更多,区域2的内容都一样,填写一个就自动填充就好了,区域3是N的值,你写个1,剩下的向右拖自动填充也就好了,区域4是最后的结果的区域,也是一样的自动填充就好了,详细的内容可以参考一下那个excel
5楼2012-09-15 09:29:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

VChang

木虫 (正式写手)

引用回帖:
5楼: Originally posted by anntoy at 2012-09-15 09:29:22
你可以先看那个图片,区域1是你的数据,两列,我又添加了几项你的到时候会更多,区域2的内容都一样,填写一个就自动填充就好了,区域3是N的值,你写个1,剩下的向右拖自动填充也就好了,区域4是最后的结果的区域,也 ...

我这里数据很多,有几千个(都在13N的范围内,N从一到几百),要是能在Excel里的某一个sheet里一列显示13N范围内的强度最大值(如80,100),另一列显示这个强度对应的13N范围内的具体数(如13.2,26.2)就很好了。
6楼2012-09-15 13:56:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖


xzhdty: 金币+1, 谢谢参与 2012-09-16 21:15:48
Sub calc()
For N = 1 To 1000
    Max = 0
    For j = 1 To 2000
        If Sheets("sheet1".Cells(j, 1) > 13 * N - 0.5 And Sheets("sheet1".Cells(j, 1) < 13 * N + 0.5 Then
            If Sheets("sheet1".Cells(j, 2) > Max Then
                Max = Sheets("sheet1".Cells(j, 2)
            End If
        End If
    Next
    Sheets("sheet1".Cells(N, 3) = N
    Sheets("sheet1".Cells(N, 4) = Max
Next
End Sub
excel的宏,vb脚本,For N = 1 To 1000,这个1000是你的N的最大值,For j = 1 To 2000,这个2000是有多少行数据,你的数据要放在A列和B列,生成的C列数据是N的值,D列是你要的那个值
既然你说宏了,我想你应该知道怎么用吧,如果不会用,我晚上给你图片说明,现在网速不好,传不了
7楼2012-09-15 17:54:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

引用回帖:
7楼: Originally posted by anntoy at 2012-09-15 17:54:16
Sub calc()
For N = 1 To 1000
    Max = 0
    For j = 1 To 2000
        If Sheets("sheet1".Cells(j, 1) > 13 * N - 0.5 And Sheets("sheet1".Cells(j, 1) < 13 * N + 0.5 The ...

CODE:
Sub calc()
For N = 1 To 1000
    Max = 0
    For j = 1 To 2000
        If Sheets("sheet1").Cells(j, 1) > 13 * N - 0.5 And Sheets("sheet1").Cells(j, 1) < 13 * N + 0.5 Then
            If Sheets("sheet1").Cells(j, 2) > Max Then
                Max = Sheets("sheet1").Cells(j, 2)
            End If
        End If
    Next
    Sheets("sheet1").Cells(N, 3) = N
    Sheets("sheet1").Cells(N, 4) = Max
Next
End Sub

8楼2012-09-15 17:56:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

那个excel是我自己做的,里面的数据都是随机数据,打开之后,按Alt + F11,打开和图片上那个窗口,左边选sheet1,右边有那个脚本了,你可以修改一下N值和行号,然后按F5运行就可以了
一般的宏都是被禁止的,你可以菜单栏的“工具”>“宏”>“安全性”里把那个设置成低,然后关闭excel再打开就可以运行了

QQ截图20120915173618.png(32.16KB)
http://kuai.xunlei.com/d/GBPGSLPFWYDO?p=130497
新建 Microsoft Excel 工作表 (3).xls(79KB)
http://kuai.xunlei.com/d/GDPNGOQNGOQO?p=130497
9楼2012-09-15 18:04:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

VChang

木虫 (正式写手)

引用回帖:
9楼: Originally posted by anntoy at 2012-09-15 18:04:07
那个excel是我自己做的,里面的数据都是随机数据,打开之后,按Alt + F11,打开和图片上那个窗口,左边选sheet1,右边有那个脚本了,你可以修改一下N值和行号,然后按F5运行就可以了
一般的宏都是被禁止的,你可以 ...

谢谢帮助,但是你给的那个excel文件按F5没法运行,显示的是“定位” 对话框,请问怎么添加一个Private Sub CommandButton1_Click时间来开始怎个计算过程?还有一个问题是你的这个文件里最后给的值是13N里的N值,我希望能得到的是13N+-0.5范围内强度最大的数对应具体的13N值,谢谢!

QQ截图20120916153017.jpg

10楼2012-09-16 15:35:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 VChang 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 时间戳又变了 +11 wuchongjun 2026-08-20 15/750 2026-08-20 17:28 by wuchongjun
[基金申请] 科研孤儿太难了 +7 我4大白菜 2026-08-20 7/350 2026-08-20 17:26 by SCUwjq
[基金申请] 只有每年这种时候来逛逛小木虫 +21 yaoyewhu2008 2026-08-20 22/1100 2026-08-20 17:03 by yaoyewhu2008
[基金申请] 今天系统多次维护,明天很可能放榜! +9 zju2000 2026-08-16 10/500 2026-08-20 15:56 by Leogzhya
[基金申请] 放榜前的不淡定 40+3 snowwithsea 2026-08-19 12/600 2026-08-20 15:56 by lfy8008
[基金申请] 言之凿凿,明天官网会通知放榜? +14 医学老男孩 2026-08-20 16/800 2026-08-20 15:47 by LNP@mRNA
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 今天基金会出结果吗?20260819 +14 kkkl_v 2026-08-19 15/750 2026-08-20 08:21 by sunzitan
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜没戏了吧 +4 yuleib84 2026-08-19 5/250 2026-08-19 19:52 by hhs666
[基金申请] filecode=后面第一个是大写字母 +10 wangze12014 2026-08-14 12/600 2026-08-19 16:56 by 苦难博士
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 什么时候开奖? +6 CrisMessi 2026-08-18 6/300 2026-08-19 08:06 by Equinoxhua
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
信息提示
请填处理意见