VB循环

韩小婼 2011-11-01 11:01:08
有六个数A1, A2, A3, A4, A5, A6,其中d2=5A1-A2-4A3-4A4-A5+5A6
且这六个数字在某些范围
A1 = 0.37 To 0.42
A2 = 0.46 To 0.49
A3 = 0.51 To 0.55
A4 = 0.56 To 0.61
A5 = 0.51 To 0.58
A6 = 0.415 To 0.45
要求输入d2能得到随机的一组数字,我写的下面

Dim A1, A2, A3, A4, A5, A6 As Double
For A1 = 0.37 To 0.42 Step 0.1
For A2 = 0.46 To 0.49 Step 0.1
For A3 = 0.51 To 0.55 Step 0.1
For A4 = 0.56 To 0.61 Step 0.1
For A5 = 0.51 To 0.58 Step 0.1
For A6 = 0.415 To 0.45 Step 0.1
TxtD2.Text = "5A1-A2-4A3-4A4-A5+5A6"
Exit For
Next A6
Next A5
Next A4
Next A3
Next A2
Next A1
TxtD2.Text = ""
Trim(Text2.Text) = A1
Trim(Text3.Text) = A2
Trim(Text4.Text) = A3
Trim(Text5.Text) = A4
Trim(Text6.Text) = A5
Trim(Text7.Text) = A6
但是得不到正确数据,测试的时候发现很多数字越界,怎么写
...全文
102 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
韩小婼 2011-11-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 worldy 的回复:]
sub command1+click
Dim A1 As Double, A2 As Double, A3 As Double, A4 As Double, A5 As Double, A6 As Double'必须每个数定义
dim d2 as double

randomize
A1 = 0.37+(.42-.37)*rnd
A2 = 0.46 +( 0.49 -.46)*rnd
……
[/Quote]非常感谢
韩小婼 2011-11-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 worldy 的回复:]
Dim A1 As Double, A2 As Double, A3 As Double, A4 As Double, A5 As Double, A6 As Double
For A1 = 0.37 To 0.42 Step 0.01
For A2 = 0.46 To 0.49 Step 0.01
For A3 = 0.51 To 0.55 Step 0.01
For A4 ……
[/Quote]而且只要求循环一组的数据,
worldy 2011-11-01
  • 打赏
  • 举报
回复
Dim A1 As Double, A2 As Double, A3 As Double, A4 As Double, A5 As Double, A6 As Double
For A1 = 0.37 To 0.42 Step 0.01
For A2 = 0.46 To 0.49 Step 0.01
For A3 = 0.51 To 0.55 Step 0.01
For A4 = 0.56 To 0.61 Step 0.01
For A5 = 0.51 To 0.58 Step 0.01
For A6 = 0.415 To 0.45 Step 0.001
if 5*A1-A2-4*(A3+A4)-A5+5*A6=d2 then
text1=cstr(a1)
text2=cstr(a2)
text3=cstr(a3)
text4=cstr(a4)
text5=cstr(a5)

end if
Exit For
Next A6
Next A5
Next A4
Next A3
Next A2
Next A1
worldy 2011-11-01
  • 打赏
  • 举报
回复
LS的sub command1+click改为sub command1_click
worldy 2011-11-01
  • 打赏
  • 举报
回复
sub command1+click
Dim A1 As Double, A2 As Double, A3 As Double, A4 As Double, A5 As Double, A6 As Double'必须每个数定义
dim d2 as double

randomize
A1 = 0.37+(.42-.37)*rnd
A2 = 0.46 +( 0.49 -.46)*rnd
A3 = 0.51+(0.55 -.51)*rnd
A4 = 0.56 +( 0.61 -.56)*rnd
A5 = 0.51 +( 0.58 -.51)*rnd
A6 = 0.415+( 0.45 -.415)*rnd

d2=5*A1-A2-4*A3-4*A4-A5+5A6
.........
'Trim(Text2.Text) = A1---没有这样使用的 Text2.Text=cstr(a1) ?如果要指定小数位数,使用Format
'Trim(Text3.Text) = A2
'Trim(Text4.Text) = A3
'Trim(Text5.Text) = A4
'Trim(Text6.Text) = A5
'Trim(Text7.Text) = A6

end sub
韩小婼 2011-11-01
  • 打赏
  • 举报
回复
Step 0.001不是Step 0.1

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧