powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA передача коллекции в процедуру
2 сообщений из 2, страница 1 из 1
VBA передача коллекции в процедуру
    #38089738
NecroArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравсвтуйте. Пытаюсь в одной процедуре создать коллекцию, которая передаётся в процедуру_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
VBA передача коллекции в процедуру
    #38089753
NecroArt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ой, похоже надо высыпаться - передаю в функцию 3-х переменных только две.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VBA передача коллекции в процедуру
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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