vba转c#的问题
'
Sub Macro1()
'
'
' ActiveSheet.Unprotect
Range("F47").GoalSeek Goal:=1, ChangingCell:=Range("F46")
End Sub
'
'************************************************************
Sub Macro2()
' Macro2 Macro
'
'
'
Range("F52").Select
Range("F52").GoalSeek Goal:=1, ChangingCell:=Range("F42")
Range("F53").Select
Range("F53").GoalSeek Goal:=1, ChangingCell:=Range("F38")
End Sub
'*******************************************
Sub Macro3()
'
' Macro3 Macro
'
'
'
Set WS1 = Worksheets(ActiveCell.Worksheet.Name)
' MsgBox ActiveCell.Worksheet.Name
'
Application.MaxChange = 0.000001
ActiveWorkbook.PrecisionAsDisplayed = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
For I = 1 To 100
Application.Run "Macro1"
Application.Run "Macro2"
a = WS1.Cells(47, 6)
b = WS1.Cells(52, 6)
c = WS1.Cells(53, 6)
If ((a > 0.999 And a < 1.001) And (b > 0.999 And b < 1.001) And (c > 0.999 And c < 1.001)) Then GoTo 200
100 Next I
200 Rem
End Sub
*********************************************
以上代码改编成C#,如果三个变量循环+0.000001,嵌套3层for循环会造成假死,请问有什么解决办法或其他思路?
for (F46 = 0.000001; F47 > 1.001 || F47 < 0.999; F46 = F46 + 0.000001)
{
for (F42 = 0.000001; F52 > 1.001 || F52 < 0.999; F42 =F42 + 0.000001)
{
for (F38 = 0.000001; F53 > 1.001 || F53 < 0.999; F38 = F38 + 0.000001)
{