Поочередная Фильтрация таблицы по столбцу значений

Программирование на Visual Basic for Applications
sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Поочередная Фильтрация таблицы по столбцу значений

Сообщение sonata » 10.12.2003 (Ср) 14:21

Такая задачка:
Есть столбец данных.
Есть таблица значений.
Нужно отфильтровать эту таблицу поочередно по каждому значению
из столбца данных.
Полученные данные скопировать на отдельный лист.
Что-то попыталась сделать сама, но...
Ошибка в самом начале :
FindSh.Name = FindSheetName

Код: Выделить всё
Sub QFind()
  Const OutSheetName As String = "Для сверки"
  Const FindSheetName As String = "1С"
  Const ControlSheetName As String = "1"
  Dim outSh, ControlSh, tmpSh As Excel.Worksheet
  Dim FindSh As Excel.Worksheet
  Dim tmpCell, range1 As Excel.Range
  Dim tmpLng As Long
 
  On Error Resume Next
  Application.DisplayAlerts = False
  Worksheets(OutSheetName).Delete
  Application.DisplayAlerts = True
  On Error GoTo 0
 
  Set outSh = Worksheets.Add
  outSh.Name = OutSheetName
  FindSh.Name = FindSheetName
  ControlSh.Name = ControlSheetName

Set range1 = ControlSh.Range("A2:A41") 'диапазон, с которым сравниваем
  tmpLng = 1

FindSh.Select
      For Each tmpCell In range1

            Columns("C:C").Select
        Selection.AutoFilter Field:=3, Criteria1:=tmpCell
            Selection.CurrentRegion.Select
            Selection.SpecialCells(xlCellTypeVisible).Select

          tmpCell.EntireRow.Copy outSh.Cells(tmpLng, 1)
          outSh.Cells(tmpLng, 1).Insert xlShiftToRight
          outSh.Cells(tmpLng, 1).Value = tmpSh.Name
          tmpLng = tmpLng + 1
       
      Next
End Sub

SVL
Обычный пользователь
Обычный пользователь
 
Сообщения: 97
Зарегистрирован: 19.12.2002 (Чт) 11:37
Откуда: Russia

Сообщение SVL » 10.12.2003 (Ср) 17:40

Ошибка вылетает потому что не ясно на какой лист ссылается Findsh. Если на текущий, то:
Код: Выделить всё
Set FindSh = ActiveSheet


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59

    TopList