Цикл значений до трех десятичных знаков в ячейке - PullRequest
0 голосов
/ 12 ноября 2018
Dim j As Long
 Dim mycell As Range

   For j = 0 To 24

      Range("C12").Value = j

      Range("C93").Formula = "=Round(Sin(C12*pi()/180)*(C84+C88),3)"
      Range("C94").Formula = "=Round((Sin(C12*pi()/180)*(C84+C88))/1000,2)"

      Range("C96").Formula = "=Round(-1*(C80-C93),3)"
      Range("C98").Formula = "=Round((-1*(C80-C93))/1000,2)"

      If Range("C94").Value = Range("C82").Value Then
      MsgBox "The Maximum value of Theta is " & Range("C12").Value & Chr(10)

      Exit For
      End If

    Next

Я следую коду, который повторяет j от 0 до 24. Пример: 0,1,2, .... 24 .
Но как мне выполнить цикл от значений 0,001 до 0,999, затем от 1,101 до 24 ...

Как мне перейти к нужным десятичным разрядам?

Ответы [ 3 ]

0 голосов
/ 12 ноября 2018

Вы можете создать внутренний цикл с чем-то вроде

For j = 0 To 24
   Dim d As Double
   For d = 0 To 0.999 Step 0.001
       Range("C12").Value = j + d 
       ...
   Next d
Next j
0 голосов
/ 12 ноября 2018

Идея в том, чтобы сделать цикл простым и исключить ненужные значения внутри цикла:

Public Sub Test()
   Dim j As Double

   For j = 0.001 To 24 Step 0.001
      If j < 1 Or j > 1.1 Then
         Debug.Print Format(j, "0.000")
      End If
   Next
End Sub
0 голосов
/ 12 ноября 2018

Может быть, что-то вроде этого:

Sub Test()

    Dim j As Long, k As Long

    For k = 0 To 24
        For j = 1 To 999
            Debug.Print k + (j / 1000)
        Next j
    Next k

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...