24小时热门版块排行榜    

查看: 1874  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 h4CP7TrQR8Lg 2026-08-22 3/150 2026-08-23 16:30 by lXgU0RvNTDC9
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-22 4/200 2026-08-23 14:57 by KM5EcsNQRBPn
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 6/300 2026-08-23 14:21 by KM5EcsNQRBPn
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +3 process2012 2026-08-23 4/200 2026-08-23 12:54 by huixian257
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 什么时候开奖? +9 CrisMessi 2026-08-18 10/500 2026-08-23 12:03 by 丶昵称占用
[基金申请] 2026国自然函评费到账 +15 羊腰板 2026-08-21 16/800 2026-08-23 10:45 by process2012
[基金申请] 让我中一个面上吧! +12 大萍1987 2026-08-20 14/700 2026-08-23 10:30 by wrm
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 07:41 by OEbVnUOu01ol
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 DpSrDtM079iu 2026-08-22 5/250 2026-08-23 04:07 by OEbVnUOu01ol
[基金申请] 人气不行了 +8 fansofjerry 2026-08-21 8/400 2026-08-22 16:30 by zyqchem
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见