Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Genka63
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 13
1

Функции на VBA

10.01.2011, 17:21. Просмотров 626. Ответов 3
Метки нет (Все метки)

Здравствуйте уважаемые форумчане! Есть код, подскажите, как заменить некоторые его части функциями/подпрограммами?
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Private Sub CommandButton1_Click()
Dim i, j, n, k, max As Integer
Dim A(1 To 20, 1 To 20) As Single
Dim priz As Boolean
n = InputBox("Введите длину массива от 1 до 20")
If (n < 1) Or (n > 20) Then
  n = InputBox("Будте внимательны! Число от 1 до 20. Попробуйте снова"): Exit Sub
End If
" код ниже заменить на функцию очистки ячеек
For i = 1 To 20
For j = 1 To 20
Worksheets("Лист1").Cells(i, j).Value = ""
Next j
Next i
" код ниже заменить на функцию заполнения массива
For i = 1 To n
For j = 1 To n
Randomize
Worksheets("Лист1").Cells(i, j).Value = Int((4 * Rnd) - 3)
A(i, j) = Worksheets("Лист1").Cells(i, j).Value
Next j
Next i
" код ниже заменить на функцию проверки на симметрию
For i = 1 To n
For j = 1 To n
 
  If A(i, j) = A(j, i) Then priz = True
  If A(i, j) <> A(j, i) Then priz = False: MsgBox ("Не симметрична"): Exit Sub
     
Next j
Next i
   If priz = True Then MsgBox ("Симметрична")
End Sub
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2011, 17:21
Ответы с готовыми решениями:

Функции в Vba
Всем доброго дня! У меня возник такой вопрос в Excel есть функция ЧИСЛКОМБ, она...

Функции VBA
Добрый день форумчане! Элементарные вопросы продолжаются) Лишь познаю...

Формула в функции vba
Здравствуйте. Пишу эту функцию в vba...

Не работают функции в VBA
Не работают функции в VBA DAY(DATE), RIGHT. Пишет, что нет билиотеки. А LEFT...

Функция в функции VBA
1)Даны числа a,b,c . Вычислить: Z = (max(a * b, a * c, b * c) - Min(a, b, a *...

3
gaw
6633 / 1500 / 169
Регистрация: 09.01.2010
Сообщений: 4,274
10.01.2011, 19:32 2
точно везде функции
а процедуры можна использовать
0
Genka63
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 13
10.01.2011, 20:33  [ТС] 3
Да, можно.
0
gaw
6633 / 1500 / 169
Регистрация: 09.01.2010
Сообщений: 4,274
10.01.2011, 22:01 4
вариант
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Dim i, j
Dim a()
Private Sub CommandButton2_Click()
Dim n As Integer, k As Integer, max As Integer
 
'Dim priz As Boolean
n = InputBox("Введите длину массива от 1 до 20")
If (n < 1) Or (n > 20) Then
  n = InputBox("Будте внимательны! Число от 1 до 20. Попробуйте снова"): Exit Sub
End If
''''''" код ниже заменить на функцию очистки ячеек
Call Clr(n)
'For i = 1 To 20
'For j = 1 To 20
'Worksheets("Лист1").Cells(i, j).Value = ""
'Next j
'Next i
'''''''''" код ниже заменить на функцию заполнения массива
ReDim a(n, n)
Call Rn(a(), n)
'For i = 1 To n
'For j = 1 To n
'Randomize
'Worksheets("Лист1").Cells(i, j).Value = Int((4 * Rnd) - 3)
'A(i, j) = Worksheets("Лист1").Cells(i, j).Value
'Next j
'Next i
'''''''''" код ниже заменить на функцию проверки на симметрию
MsgBox sim(a(), n)
'For i = 1 To n
'For j = 1 To n
 
 ' If a(i, j) = a(j, i) Then priz = True
  'If a(i, j) <> a(j, i) Then priz = False: MsgBox ("Не симметрична"): Exit Sub
     
'Next j
'Next i
   'If priz = True Then MsgBox ("Симметрична")
   
End Sub
 
Sub Clr(p As Integer)
For i = 1 To p
For j = 1 To p
Worksheets("Лист1").Cells(i, j).Value = ""
Next j
Next i
End Sub
Sub Rn(a(), p As Integer)
For i = 1 To p
For j = 1 To p
Randomize
'If i = j Then'''для проверки
Worksheets("Лист1").Cells(i, j).Value = Int((4 * Rnd) - 3)
a(i, i) = Worksheets("Лист1").Cells(i, j).Value
'End If
Next j
Next i
End Sub
Function sim(a(), p As Integer) As String
For i = 1 To p
For j = 1 To p
  If a(i, j) <> a(j, i) Then
 sim = "Не симметрична"
  Exit Function
  End If
Next j
Next i
 sim = "Симметрична"
End Function
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2011, 22:01

Строковые функции. VBA
Здравствуйте. Прошу помощи с решением задачи на VBA. Даны шифры трех ГАИ ....

Вычислить значение функции на VBA
Напишите процедуру на языке VBA для нахождения функции ...

Обращение к функции в dll из VBA
Всем привет! Буду благодарен, если поможете разобраться с проблемой работы с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru