×
Показано с 1 по 6 из 6
  1. #1
    Клерк
    Регистрация
    27.11.2009
    Сообщений
    4

    помогите с корнем в vba

    Люди помогите пожалуйста с кодом, В TextBox1 вводятся элементы одномерного массива, цветом выделяются значения которые меньше 0
    и все это вводится в столбец А, нужно еще чтобы в столбце B подсчитывался квадратный корень этого массива. Вот код который получился без подсчета корня:

    Private Sub CommandButton1_Click()
    Dim a(200) As Integer
    'Range("a2").Activate
    ActiveCell.Value = UserForm1.TextBox1.Text

    a(i) = UserForm1.TextBox1.Text
    If a(i) = 0 Then
    ActiveCell.Activate
    With Selection.Interior
    .ColorIndex = 4
    .Pattern = xlSolid
    End With
    End If
    End Sub
    Private Sub CommandButton4_Click()
    Range("a1").Activate
    Do Until ActiveCell.Value = ""
    ActiveCell.Activate
    ActiveCell.Offset(1, 0).Activate
    UserForm1.TextBox1.Text = ActiveCell.Value
    Loop
    ActiveCell.Activate
    End Sub
    Private Sub UserForm_Activate()
    Range("a2").Activate
    UserForm1.TextBox1.Text = ActiveCell.Value
    End Sub
    Поделиться с друзьями

  2. #2
    Клерк
    Регистрация
    04.12.2003
    Адрес
    г.Москва
    Сообщений
    1,576
    А в чем состоит вопрос-то?
    Надо разобрать код и указать ошибки?
    Или надо код написать?
    Чего хотите-то?
    Все, что может быть - случается. Все что не может быть - тоже случается, причем значительно чаще...

  3. #3
    Клерк
    Регистрация
    27.11.2009
    Сообщений
    4
    нужен код для подсчета корня

  4. #4
    Клерк
    Регистрация
    04.12.2003
    Адрес
    г.Москва
    Сообщений
    1,576
    Я, наверное, чего-то не понимаю - что за термин такой "корень массива"?
    Все, что может быть - случается. Все что не может быть - тоже случается, причем значительно чаще...

  5. #5
    Клерк
    Регистрация
    27.11.2009
    Сообщений
    4
    нужен не "корень массива", а корень каждого числа массива

  6. #6
    Клерк
    Регистрация
    04.12.2003
    Адрес
    г.Москва
    Сообщений
    1,576
    Range("B1").Activate
    For i = LBound(a) To UBound(a)
    ActiveCell.Value = Sqr(a(i))
    Range("B" & (1 + i)).Activate
    Next i

    например, так. Этот код работает в случае объявления в Declarations Option Base 1
    Надо объяснять почему или нет?
    Спрашиваем, если непонятно.
    Проверяйте свой код на ошибки (одна точно есть!)
    Все, что может быть - случается. Все что не может быть - тоже случается, причем значительно чаще...

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)