
Option Explicit
'questo codice è inserito sul foglio elencoprezzi
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("B3")) Is Nothing Then
With Target(1, 1)
Call mfiltra(.Value, .Address, .Column)
End With
End If
End Sub
'-----------------------------------------------------------------
Option Explicit
'questo codice è inserito in un modulo
' filtra in base ai parametri passati
Public Sub mfiltra(ByVal s As String, ByVal add As String, nFld As Long)
With Selection
If s = "" Or s = "INSERIRE QUI TESTO PER RICERCA" Then
If .Value = "" Then .Value = "INSERIRE QUI TESTO PER RICERCA"
.AutoFilter Field:=nFld, Criteria1:="*" & s & "*"
Else
.AutoFilter Field:=nFld, Criteria1:="*" & s & "*"
End If
End With
End Sub
|
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("B2")) Is Nothing Then
With Target(1, 1)
Call mfiltra(.Value, .Address, .Column)
End With
End If
End Sub |
Public Sub mfiltra(ByVal s As String, ByVal add As String, nFld As Long)
If s = "" Or s = "INSERIRE QUI TESTO PER RICERCA" Then
On Error Resume Next
ActiveSheet.ShowAllData
ActiveCell = "INSERIRE QUI TESTO PER RICERCA"
Else
If ActiveSheet.AutoFilterMode Then Cells.AutoFilter
[a4].AutoFilter Field:=nFld, Criteria1:="*" & s & "*"
Cells(Range("b5:b" & Rows.Count).SpecialCells(xlCellTypeVisible).Row, 2).Activate
End If
End Sub |
