Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

modifica macro "trova"

Ultimo Aggiornamento: 07/01/2017 21:29
Post: 271
Registrato il: 08/01/2012
Città: MILANO
Età: 56
Utente Junior
excel 2000/2007
OFFLINE
07/01/2017 20:04

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
Post: 939
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Senior
365
OFFLINE
07/01/2017 20:59

caio
cambia questa riga

If Application.WorksheetFunction.CountIf(y, c) = 0 Then



con


If Application.WorksheetFunction.CountIf(y, c) = 0 And Range("C1") <> "inserisci qui" Then

Post: 3.576
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
07/01/2017 21:01

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!"
   Exit Sub
End If
If Application.WorksheetFunction.CountIf(y, c) = 0 Then
  MsgBox "nessun elemento trovato!", vbInformation, "AVVISO!"
  Range("C1") = "inserisci qui"
  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

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 940
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Senior
365
OFFLINE
07/01/2017 21:09

ciao
patel

vero
ho visto ora che exit sub
era scritto 'exit sub
disattivando di fatto il comando [SM=g27818]
[Modificato da federico460 07/01/2017 21:09]
Post: 271
Registrato il: 08/01/2012
Città: MILANO
Età: 56
Utente Junior
excel 2000/2007
OFFLINE
07/01/2017 21:29

Grazie a tutti,
la modifica di federico460 funziona in parte: dopo aver cliccato "TROVA" si attiva il fitro che poi di bisogna togliere.
La macro di patel45 funziona bene.
Un saluto a tutti.
Grazie,
patrik
------------------
excel 2003 / 20007
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
modifica macro per excel2007 (4 messaggi, agg.: 13/07/2022 12:40)
Macro che modifica macro (7 messaggi, agg.: 19/05/2023 14:32)
macro non funziona (8 messaggi, agg.: 02/03/2020 19:13)
modifica macro open/close (4 messaggi, agg.: 18/03/2017 14:50)
Modifica a macro (3 messaggi, agg.: 29/05/2017 18:04)
Modifica macro (8 messaggi, agg.: 16/02/2018 11:35)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 20:17. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com