Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2015, 15:20   #1
Zulfat1993
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 12
По умолчанию Задачка VBA

Составить массив С из массивов А и В по условию если a(j)-b(j)<=2 тогда c(j)=a(j)^2 в противном случае c(j)=b(j)^3.
Код:
Sub name()
Dim a(10) As Single
Dim b(10) As Single
Dim c(10) As Single
Dim i, j As Integer
For i = 1 To 10 Step 1
For j = 1 To 10 Step 1
a(i) = Cells(1, j)
b(j) = Cells(2, j)
Next i
Next j
For j = 1 To 10 Step 1
If a(i) - b(j) <= 2 Then c(j) = a(j) ^ 2 Else c(j) = b(j) ^ 3
Next j
Cells(4, j) = c(j)
End Sub
Не работает.Подскажите где ошибки.

Последний раз редактировалось Stilet; 26.05.2015 в 17:24.
Zulfat1993 вне форума Ответить с цитированием
Старый 26.05.2015, 16:57   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

1. Форматируйте код. Выделить код и нажать символ '#' на форме окна редактирования.
2. А с чего это должно работать?
Что делают два цикла по i и j?
Как понимаю, тут должна быть инициализация массивов значениями из ячеек Excel. Это можно сделать так:
Код:
For i = 1 To 10 Step 1
   a(i) = Cells(1, i)
   b(j) = Cells(2, i)
Next i
А тут хотелось увидеть сформированный массив. Но при этом в ячейку Excel, "по неустановленной причине" :-), помещаем только одно, последнее значение.
Это следут поправить так:
Код:
For i = 1 To 10 Step 1
   If a(i) - b(i) <= 2 Then
      c(i) = a(i) ^ 2
   Else
       c(i) = b(i) ^ 3
   End If
   Cells(4, i) = c(i)
Next i

Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 26.05.2015, 19:06   #3
Zulfat1993
Пользователь
 
Регистрация: 17.05.2015
Сообщений: 12
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
1. Форматируйте код. Выделить код и нажать символ '#' на форме окна редактирования.
2. А с чего это должно работать?
Что делают два цикла по i и j?
Как понимаю, тут должна быть инициализация массивов значениями из ячеек Excel. Это можно сделать так:
Код:
For i = 1 To 10 Step 1
   a(i) = Cells(1, i)
   b(j) = Cells(2, i)
Next i
А тут хотелось увидеть сформированный массив. Но при этом в ячейку Excel, "по неустановленной причине" :-), помещаем только одно, последнее значение.
Это следут поправить так:
Код:
For i = 1 To 10 Step 1
   If a(i) - b(i) <= 2 Then
      c(i) = a(i) ^ 2
   Else
       c(i) = b(i) ^ 3
   End If
   Cells(4, i) = c(i)
Next i

Как-то так, ...
Sub mane()
Dim a(10) As Single
Dim b(10) As Single
Dim c(10) As Single
Dim i, j As Integer
For i = 1 To 10 Step 1
a(i) = Cells(1, i)
b(j) = Cells(2, i)
Next i
For i = 1 To 10 Step 1
If a(i) - b(i) <= 2 Then
c(i) = a(i) ^ 2
Else
c(i) = b(i) ^ 3
End If
Cells(4, i) = c(i)
Next i
End Sub

так?
Zulfat1993 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA: Задачка на курсовой Pentosh Помощь студентам 2 08.12.2014 21:17
Задачка:Access VBA работа с таблицами CraSTI Microsoft Office Access 2 16.03.2014 12:51
Задачка на VBA faiza Помощь студентам 0 03.12.2009 04:40
Задачка на VBA Angelholy Помощь студентам 2 03.05.2009 21:40
задачка по VBA в Word konfetka Помощь студентам 8 23.04.2009 16:47