
Option Explicit
Sub Nascondi()
Dim sh1 As Worksheet: Set sh1 = Worksheets("Foglio1") ' da cambiare casomai
Dim sh2 As Worksheet: Set sh2 = Worksheets("Foglio2") ' da cambiare casomai
Dim X As Long, Y As Long, Uriga1 As Long, Uriga2 As Long, Tot As Long
Dim Stringa As String
Uriga1 = sh1.Range("B" & Rows.Count).End(xlUp).Row
Uriga2 = sh2.Range("C" & Rows.Count).End(xlUp).Row
For Y = 1 To Uriga1
If sh1.Cells(Y, 1) <> "" Then
Stringa = Stringa & sh1.Cells(Y, 2).Value & Chr$(44)
End If
Next Y
For X = 5 To Uriga2
Tot = InStr(Stringa, sh2.Cells(X, 3))
If Tot = 0 Then
sh2.Rows(X).Hidden = True
Tot = 0
End If
Next X
Set sh1 = Nothing
Set sh2 = Nothing
End Sub
Sub Visualizza()
Rows("1:65536").Hidden = False
End Sub |
Sub nascondi_vfrac()
Dim sh1 As Worksheet: Set sh1 = Worksheets("Foglio1") ' da cambiare casomai
Dim sh2 As Worksheet: Set sh2 = Worksheets("Foglio2") ' da cambiare casomai
Dim column1_table1 As Range, column1_table2 As Range, v As Variant
Set column1_table1 = sh1.Range("B" & Rows.Count).End(xlUp).End(xlUp).CurrentRegion.Columns(1).SpecialCells(xlCellTypeConstants, xlTextValues).Offset(, 1)
Set column1_table2 = sh2.Range("C" & Rows.Count).End(xlUp).End(xlUp).CurrentRegion.Columns(1)
For Each v In column1_table1
column1_table2.AutoFilter field:=1, Criteria1:=v
column1_table2.Offset(, -1) = "X"
Next
sh2.AutoFilterMode = False
column1_table2.Offset(, -1).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
column1_table2.Offset(, -1).ClearContents
End Sub
|
Option Explicit
Sub FiltroTextomb()
Dim F As Range, F2(), j As Integer, cell As Range
Set F = Foglio1.UsedRange.Columns(1).SpecialCells(xlCellTypeConstants, xlTextValues).Offset(, 1)
ReDim F2(1 To F.Count)
For Each cell In F
j = j + 1
F2(j) = CStr(cell)
Next
Foglio2.Range("c4").AutoFilter field:=1, Criteria1:=F2, Operator:=xlFilterValues
Set F = Nothing
Erase F2
End Sub |
