Uso questo codice per verificare se un dato che sto inserendo, è presente in un file chiuso.
- Codice: Seleziona tutto
Public Sub WorningCampioniLaboratori()
'
Dim wsh As Excel.Worksheet
Dim wshTmp As Excel.Worksheet
Dim rngTmp As Excel.Range
Dim strValore As String
Dim strMatriceTabella As String
Dim strIndice As String
Dim strIntervallo As String
Dim strFormula As String
Dim vntRet As Variant
'
Application.ScreenUpdating = False
With Application.ThisWorkbook.Worksheets
Set wsh = .Item("FogliodiAppoggio")
Set wshTmp = .Item("FogliodiAppoggio")
End With
wshTmp.Range("AH2").Value = vbNullString
Set rngTmp = wshTmp.Range("AH2")
strValore = wsh.Range("GES_OL").Address(0, 0, External:=True)
strMatriceTabella = PathCampioniLaboratori
strIndice = "1"
strIntervallo = "0"
strFormula = "=VLOOKUP(" & strValore & "," & _
strMatriceTabella & "," & _
strIndice & "," & _
strIntervallo & ")"
rngTmp.Formula = strFormula
vntRet = rngTmp.Value
With Application
.DisplayAlerts = False
.DisplayAlerts = True
End With
If IsError(vntRet) Then
sh6.Range("AH2").Value = vbNullString
Exit Sub
End If
'
Beep
btnMsgbox8
Call ColoraUrgenze
'
Set rngTmp = Nothing
Set wshTmp = Nothing
Set wsh = Nothing
'
sh6.Range("AH2").Value = _
sh6.Range("AH2").Value
'
Application.ScreenUpdating = False
'
End Sub
Va tutto bene se il dato che vado a confrontare, è presente nel file chiuso (nella colonna "D") singolarmente.
Per esempio, se sto inserendo nella cella (wsh.Range("GES_OL")) il valore "8000", e questo valore è presente in una cella della colonna "D" del file chiuso. Il valore viene trovato, e mi avvisa tramite messaggio.
Il problema nasce quando nella stessa cella oltre al valore "8000" compare un altro valore, per esempio "8001" , in questo modo (8000, 8001). Essendo il file chiuso uno scarico da un server, non posso modificarlo.
Come posso fare, per cercare parte del testo nel file chiuso?