Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA передача коллекции в процедуру / 2 сообщений из 2, страница 1 из 1
23.12.2012, 17:12
    #38089738
NecroArt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA передача коллекции в процедуру
Здравсвтуйте. Пытаюсь в одной процедуре создать коллекцию, которая передаётся в процедуру_2 (несколько раз); в этой процедуре_2 она изменяется, а затем нужно будет по содержащимся в ней значениям сделать кое-что:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub SelectByCross(currentValue As String)
        Application.ScreenUpdating = False
        Dim interestRow As New Collection
        Set interestRow = New Collection
        CheckColumn "H", interestRow
        CheckColumn "I", interestRow
        CheckColumn "J", interestRow
        Dim currentRowIndex As Long, ro As Range, isRowNeeded As Boolean
        For Each ro In Range(columnLetter & "5:" & columnLetter & ActiveCell.SpecialCells(xlCellTypeLastCell).Row)
            For Each currentRowIndex In interestRow
                If currentRowIndex = ro.Row Then
                    isRowNeeded = True
                End If
            Next currentRowIndex
            If isRowNeeded = False Then
                ro.Hidden = True
            End If
        Next ro
        Application.ScreenUpdating = True
End Sub



Передаётся коллекция interestRow в функцию
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub CheckColumn(columnLetter As String, currentValue As String, ByRef interestRow As VBA.Collection)
    Dim sh As Worksheet, ro As Range
    For Each ro In Range(columnLetter & "5:" & columnLetter & ActiveCell.SpecialCells(xlCellTypeLastCell).Row)
        If InStr(ro.Value, currentValue) > 0 Then
            'ro.EntireRow.Hidden = True
            interestRow.Add (ro.Row)
        End If
    Next ro
End Sub



При заходе в строку
Код: vbnet
1.
CheckColumn "H", interestRow

возникает ошибка "Compile error: ByRef argument type mismatch". Не понимаю, в чём причина ошибки. Подскажите, пожалуйста, как исправить.
...
Рейтинг: 0 / 0
23.12.2012, 17:28
    #38089753
NecroArt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA передача коллекции в процедуру
Ой, похоже надо высыпаться - передаю в функцию 3-х переменных только две.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA передача коллекции в процедуру / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]