Ciao a tutti,
un aiuto per modificare questa macro nel workbook allegato:
'Option Explicit
'per filtrare codice
Sub ApplicaFiltro1()
ActiveSheet.Unprotect "123456"
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual '<=== riga aggiunta
Dim c As String
c = Range("C1")
'c = c & "*" '<<< trova all'inizio della parola
c = "*" & c & "*" '<<< trova in mezzo alle parole
Set y = Range("A3:A40000")
If Range("C1") = "inserisci qui" Then
MsgBox "Inserire un'articolo da ricercare!", vbInformation, "AVVISO!"
'Range("C1").Select
End If
'Exit Sub
'Range("C1").Select
If Application.WorksheetFunction.CountIf(y, c) = 0 Then
MsgBox "nessun elemento trovato!", vbInformation, "AVVISO!"
Range("C1") = Null
Range("C1").Select
Else
ActiveSheet.Range("$A$2:$A$40000").AutoFilter Field:=1, Criteria1:=c
End If
Application.Calculation = xlAutomatic '<== riga aggiunta
Application.ScreenUpdating = True
ActiveSheet.Protect "123456"
'TogliFiltro
End Sub
la macro serve per trovare determinati valori del range A3:A40000
scrivendoli nella cella C1.
Funziona bene ma non riescro a togliere l'avviso:
MsgBox "nessun elemento trovato!", vbInformation, "AVVISO!"
se non scrivo nulla nella cella C1.
Non scrivendo nulla nella cella C1 e cliccando "TROVA" deve
visualizzarsi solo l'avviso:
MsgBox "Inserire un'articolo da ricercare!", vbInformation, "AVVISO!"
spero di essermi spiegato.
Un saluto.
patrik
------------------
excel 2003 / 20007