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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2010, 23:57   #1
Jevgeni
Новичок
Джуниор
 
Регистрация: 03.06.2010
Сообщений: 2
Печаль VBA Function

Есть готовая функция написанная в VBA. Хочу узнать, что же значит каждая строка, да разобраться Напишите пожалуйста, кому не тяжело, комментарии к строкам.

Module 1

Const pi = 3.14

Sub funktsioonid()
Dim n, a, b, samm, koht As Range
Set koht = Range("koht")
a = Range("a")
b = Range("b")
n = Range("n")
koht.CurrentRegion.Offset(1, 0).ClearContents
samm = (b - a) / (n - 1)
Range("samm") = samm
For i = 1 To n
koht.Cells(1 + i, 1) = a + samm * (i - 1)
koht.Cells(1 + i, 2) = func1(koht.Cells(1 + i, 1))
koht.Cells(1 + i, 3) = func2(koht.Cells(1 + i, 1))
koht.Cells(1 + i, 4) = koht.Cells(1 + i, 2) + koht.Cells(1 + i, 3)
Next i

najti_poskesk n, koht
integraal n, samm, koht
najti_max n, koht
ActiveSheet.ChartObjects(1).Activat e
ActiveChart.SetSourceData Source:=koht.CurrentRegion
End Sub

Function func1(x)
func1 = Log(x ^ 2 + 5) * Cos(pi * x / 5) - Sin(2 * pi * x / 5)
End Function

Function func2(x)
If Abs(x) <= 9 Then
func2 = 2 * Cos((pi * x + 2) / 3) - 2 * Cos(2 * pi * x) ^ 2
Else
func2 = 5 * Sin(2 * pi * x / 9) + 3 * Cos(pi * x - 2)
End If
End Function

Sub integraal(n, samm, koht)
Dim sum
sum = koht.Cells(2, 2) + koht.Cells(n + 1, 2)
For i = 2 To n - 1
sum = sum + koht.Cells(1 + i, 2)
Next i
Range("integ") = samm * sum
End Sub

Sub najti_poskesk(n, koht)
Dim sum, k
sum = 0
k = 0
For i = 1 To n
If koht.Cells(1 + i, 4) > 0 Then
sum = sum + koht.Cells(1 + i, 4)
k = k + 1
End If
Next i
If k > 0 Then
Range("poskesk") = sum / k
Else
Range("poskesk") = ""
End If
End Sub

Sub najti_max(n, koht)
Dim max
max = koht.Cells(2, 4)
For i = 1 To n
If max < koht.Cells(1 + i, 4) Then
max = koht.Cells(1 + i, 4)
End If
Next i
Range("max") = max
End Sub

Module 2


Sub Macro3()
ActiveSheet.ChartObjects(1).Activat e
ActiveChart.SetSourceData Source:=Range("B7:E20")
End Sub
Jevgeni вне форума Ответить с цитированием
Старый 04.06.2010, 13:34   #2
Jevgeni
Новичок
Джуниор
 
Регистрация: 03.06.2010
Сообщений: 2
По умолчанию

Все еще актуально. Помогите кто знает (
Jevgeni вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
function c++ strabik Общие вопросы C/C++ 1 19.05.2010 13:44
WeekDayName Function Волк Microsoft Office Excel 9 25.04.2009 17:05
InttoiHex function GAGARIN-NEW Компоненты Delphi 4 27.03.2008 20:21
Бага или фича функции Replace Function (VBA)? Alkaline Microsoft Office Excel 3 27.12.2007 11:26
function procedure Toxa Microsoft Office Access 1 28.11.2007 18:32