sto provando a scrivere una macro, ma senza successo, che mi permetta in tempo reale di confrontare la colonna A del foglio2 con quello che scrivo in tempo reale in colonna A nel foglio1.
In pratica ogni cella della colonna A del foglio 2 contiene dei codici propdotto (sono lettere e numeri tipo: ASD22KL) e vorrei che in colonna A del foglio1 se scrivo un qualcosa che non coincida con l'intero codice prodotto presente in una delle celle della colonna A del foglio2 mi esca un avviso che dica "prodotto non esistente".
in pratica se io scrivo "ASD22KL" in una qualunque cella della colonna A del foglio 1, la macro deve cercare se "ASD22KL" sia presente in una qualunque cella della colonna A del Foglio2. Se è presente allora nulla, altrimenti mi deve dare il messaggio "Prodotto non presente".
Il tutto deve avvenire in tempo reale, cioè subito dopo aver scritto "ASD22KL" e premuto invio. Inoltre la macro non si deve fermare una volta trovata la parola inesistente, ma deve continuare perchè, essendo un inserimento prodotti, potrebbero essere digitati altri prodotti non presenti rispetto a quelli in colonna A foglio2.
Ovviamente i codici prodotto presente in colonna A del foglio2 non sono mai uguali, hanno la stessa lunghezza ma chiaramente la sequenza lettere numeri è diversa per ogni prodotto.
Ho provato a scrivere così la macro che ho copiato nel codice del foglio1 ma mi fa uscire il messaggio "prodotto non presente" sia che il codice prodotto sia presente in foglio2 sia che non lo sia.
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim uriga, uriga1 As Long
Dim i, e As Integer
uriga = Sheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
uriga1 = Sheets("Foglio2").Range("A" & Rows.Count).End(xlUp).Row
inizio:
For i = 1 To uriga
If uriga & i <> uriga1 & i Then
MsgBox "Prodotto non presente", vbInformation, "NOTIFICA"
Else
Exit Sub
End If
Next
End Sub
Grazie per un aiuto.
Belvel