Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 7

Ошибка '9', не могу найти ошибку.

14.01.2011, 20:03. Показов 1935. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
написал небольшую програмку и не могу понять в чём ошибка, уже много раз всё перепроверил, может просто что-то упускаю... посмотрите пожалуйста. Жёлтым цветом выделяет 6 строчку (Лист3.Range("b4").Resize(UBound(GG), UBound(GG)) = GG)
Заранее всем спасибо.
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
Private Sub CommandButton1_Click()
Dim RRR, WW, GG, FFF
 
kpcc Лист1.Range(Лист2.Range("a1")), Лист2.Range("a3"), Лист2.Range("a2"), WW, RRR, GG, FFF
Лист3.Range("b4").Resize(UBound(GG), UBound(GG)) = GG
Лист3.Range("b24").Resize(UBound(FFF), UBound(FFF)) = FFF
TXT_WRITER WW, Лист3.Range("a2"), "C:\1.txt"
TXT_WRITER RRR, Лист3.Range("a2"), "C:\2.txt"
 
End Sub
 
 
Public Sub kpcc(rgn As Range, t As Long, y As Long, CC, CXR, CA, AXR)
Dim n As Long, l As Long, h As Long, g As Long, w As Long, s As Long, i As Long, j As Long, d As Long, v As Long, p As Long, m As Long, b As Long, AA1 As Double, AA2 As Double, Disp1 As Double, Disp2 As Double, x As Double, corr As Double
Dim RR
RR = rgn.Value
ReDim CA(1 To y, 1 To y) 
ReDim C1(1 To y, 1 To y) 
ReDim A1(1 To y - 1, 1 To y - 1) 
ReDim A2(1 To y - 1, 1 To y - 1) 
ReDim A3(1 To y - 1, 1 To y - 1) 
ReDim XR(1 To y, 1 To y)  
ReDim AXR(1 To y, 1 To y) 
ReDim CC(1 To (UBound(RR) / t)) 
ReDim CXR(1 To (UBound(RR) / t))
 
 
For q = 0 To (UBound(RR) / t) - 1
 
For w = 1 To y
For s = 1 To y
 
corr = 0
 
AA1 = 0
AA2 = 0
For n = 1 To t
AA1 = AA1 + RR(n + t * q, w) / t
AA2 = AA2 + RR(n + t * q, s) / t
Next
 
x = 0
Disp1 = 0
Disp2 = 0
For n = 1 To t
Disp1 = Disp1 + (RR(n + t * q, w) - AA1) ^ 2
Disp2 = Disp2 + (RR(n + t * q, s) - AA2) ^ 2
x = x + (RR(n + t * q, w) - AA1) * (RR(n + t * q, s) - AA2)
Next 
 
corr = corr + (x / Sqr(Disp1 * Disp2))
 
C1(w, s) = corr
If w = s Then CA(w, s) = 10 Else CA(w, s) = CA(w, s) + ((1 / 2) * Log((1 + C1(w, s)) / (1 - C1(w, s)))) / (UBound(RR) / t)
Next 
Next
 
 
For i = 0 To y - 1
For j = 0 To y - 1
 
 
For l = 0 To y - 2
For p = 0 To y - 2
h = 0
g = 0
d = 0
v = 0
b = 0
m = 0
If p >= i Then h = p + 1 Else h = p
If l >= j Then g = l + 1 Else g = l
A1(p + 1, l + 1) = C1(h + 1, g + 1)
Next 
Next 
 
For l = 0 To y - 2
For p = 0 To y - 2
If p >= i Then d = p + 1 Else d = p
If l >= i Then v = l + 1 Else v = l
A2(p + 1, l + 1) = C1(d + 1, v + 1)
Next 
Next 
 
For l = 0 To y - 2
For p = 0 To y - 2
If p >= j Then b = p + 1 Else b = p
If l >= j Then m = l + 1 Else m = l
A3(p + 1, l + 1) = C1(b + 1, m + 1)
Next 
Next
 
XR(i + 1, j + 1) = (-1) * ((-1) ^ (i + j)) * Application.WorksheetFunction.MDeterm(A1) / Sqr(Application.WorksheetFunction.MDeterm(A2) * Application.WorksheetFunction.MDeterm(A3))
Next
Next
 
For i = 0 To y - 1
For j = 0 To y - 1
If i = j Then AXR(i + 1, j + 1) = 10 Else AXR(i + 1, j + 1) = AXR(i + 1, j + 1) + ((1 / 2) * Log((1 + XR(i + 1, j + 1)) / (1 - XR(i + 1, j + 1)))) / (UBound(RR) / t)
Next
Next 
 
CC(q + 1) = C
CXR(q + 1) = XR
 
Next  
Erase A1
Erase A2
Erase A3
Erase XR
Erase CA
Erase C1
Erase AXR
Erase CXR
Erase CC
 
End Sub
 
Sub TXT_WRITER(RR, k, Filename)
Dim n As Long, l As Long, j As Long, m As Long
Dim FSO As Object, strLine  As String, WW
Dim objStream As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set objStream = FSO.CreateTextFile(Filename)
With objStream
j = UBound(RR)
For n = 1 To j
 WW = RR(n)
For l = 1 To k
strLine = ""
For m = 1 To k
 
 strLine = strLine & WW(l, m) & vbTab & vbTab
 
 
Next
 
 .WriteLine strLine
 
Next
 .WriteLine
  .WriteLine
  .WriteLine
Next
 
    .Close
End With
    Set objStream = Nothing
    Set FSO = Nothing
 
 
 
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.01.2011, 20:03
Ответы с готовыми решениями:

Метод, который я бы мог увидеть в классе, и не мог увидеть потом в коде
Как сделать такой метод который я бы мог увидеть в классе и не мог увидеть потом в коде . т.е....

Не очень разбираюсь в VBA , не могу сделать код для это программы.вроде не сложный.но не могу додуматься)
Определить, сколько можно купить толковых, фразеологических и орфографических словарей русского...

не могу найти ошибку (массив) VB 6.0
Исходные данные: выполнение плана поставок каждым из К предприятий по каждому из М наименований...

10
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
14.01.2011, 21:05
Вырвал кусо кода из своей программы и думаешь кто-то раэберётся?
У меня выдаёт ошибку уже на строчке 5. И не мудрено.
Там по коду много чего выдаст ошибки: не известно что и откуда берётся
0
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 7
14.01.2011, 21:54  [ТС]
нет, это весь код, прикладываю файл, там всё что должно понадобиться
Вложения
Тип файла: rar kpcc2.rar (85.0 Кб, 16 просмотров)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
14.01.2011, 22:27
Dim RRR, WW, GG, FFF


Лист3.Range("b4").Resize(UBound(GG), UBound(GG)) = GG

UBound - размер масива
GG не объявлен массивом
0
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 7
14.01.2011, 22:35  [ТС]
а как правильно его объявить?

Dim RRR, WW, GG As Range, FFF

написал так выдал другую ошибку...(Expected array)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
14.01.2011, 22:42
А что там должно быть?
Ты его только объвил - он пустой и без размера, а ты пытаешься использовать его размер
Задачу сформулировал бі - проще біло бі понять проблему и логику
0
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 7
14.01.2011, 22:54  [ТС]
насколько я себе это представляю все эти 4 массива объявляются и заполняются в процедуре kpcc, и потом оттуда берутся, первые два (GG и FFF) выводятся на рабочий лист (Лист3), остальные два сохраняются в txt файл.
вот есть тоже самое по смыслу, там просто формул внутри меньше и работает что самое главное.
Вложения
Тип файла: rar mini.rar (44.2 Кб, 13 просмотров)
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
14.01.2011, 23:01
Ты же передаёшь переменную в качестве в процедуру в качестве аргумента
и пітаешься их же использовать. Но предварительно в конце процедуры очистив
Массивы объяви в модуле глобальными
И в конце процедуры не очищай их
0
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 7
14.01.2011, 23:06  [ТС]
огромное спасибо! я об этом не задумался даже... это меня правилам хорошего тона научили в конце функции всё обнулять, а когда переносил не подумал что это может всё испортить..... теперь оно не сохраняет в txt но сами файлы создаёти ошибок не выдаёт, буду рыть дальше, ещё раз спасибо
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
14.01.2011, 23:10
А зачем вообще выносить в отдельную процедуру, с передачей кучи аргументов?
Сделай всё в одной процедуре. Оставь только запись в файл . Да и её можно вписать в одну процедуру
0
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 7
14.01.2011, 23:14  [ТС]
впринципе можно, просто изначально мне сделали пример в таком виде, и уже его я изучал и доделывал для своих задач, менять много времени уйдёт, может потом займусь...у меня ещё там планируется процедур добавить других, и пока такое мне нравится, меньше путанины в последствии будет....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.01.2011, 23:14
Помогаю со студенческими работами здесь

Не могу найти ошибку в программе
Доброго времени суток. Прочитал множество тем, многие люди обращаются с одной и той же проблемой...

не могу найти ошибку
В общем на информатике задали лабу, нужно проинтегрировать функцию e ^ 3 + Ln(1 + x) Вот мой код...

Не могу найти ошибку!! В чем дело?
Программа должна последовательно выделять слова в предложении, у которых наибольшее кол-во гласных...

Не могу найти ошибку в коде
Помогите пожалуйста Объясните где ошибка Dim n As String Private Sub Command1_Click()...

Не могу найти ошибку
Public Sub ej5() Dim f() As Single Dim n, i, k As Integer n = InputBox("количесво элементов: ",...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru