vba 对于一组数,列名为 1 2 3.如下1 2 3 5 3 85 9 68 6 9 2 1 9 9 5 3每一行取一

vba
对于一组数,列名为 1 2 3.如下
1 2 3
5 3 8
5 9 6
8 6 9
2 1 9
9 5 3
每一行取一个数相乘.如 5x5x8x2x9=3600.一共有3的5次方种方法.得到243个得数.把每
个得数作为x代进公式
y=x/2+2000中.若y>3000,则输出x,y以及 相乘出x的数的行号.如例子中的到的x=3600,
y=3800,相乘出x的数的列号为 11111.求在VBA中的实现
leaf05 1年前 已收到1个回答 举报

jerrywangwww 幼苗

共回答了12个问题采纳率:100% 举报

程序要做到完美!
----------------------
Public Sub aa()
Dim i%, j%, k%, l%, m%, x#, y#, r&
With ActiveSheet
Dim Rg As Range: Set Rg = .Range("E1") '放置结果的开始位置
.Range(Rg, .Cells(65535, Rg.Column + 2)).Clear
For i = 1 To 3
For j = 1 To 3
For k = 1 To 3
For l = 1 To 3
For m = 1 To 3
x = .Cells(1, i) * .Cells(2, j) * _
.Cells(3, k) * .Cells(4, l) * .Cells(5, m)
y = x / 2 + 2000
If y > 3000 Then
Rg.Offset(r, 0).Value = x
Rg.Offset(r, 1).Value = y
Rg.Offset(r, 2).Value = i & j & k & l & m & n
r = r + 1
End If
Next m, l, k, j, i
End With
With Rg.Resize(r, 3)
.EntireColumn.AutoFit
.Interior.ColorIndex = 36
.Font.ColorIndex = 3
.Borders.LineStyle = xlContinuous
End With
MsgBox "完成!" & vbCrLf & "共有 " & r & " 个组合符合条件."
End Su

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.029 s. - webmaster@yulucn.com