Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

VBA Excel - confrontare parte del testo in due textbox

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

VBA Excel - confrontare parte del testo in due textbox

Postdi macio66 » 06/01/21 12:07

buongiorno
in una Userform ho due TextBox da cui vorrei confrontare il testo.
per esempio se nella textbox1 mi compare "AB" e nella textbox2 "CDE", la macro puo proseguire in quanto non ci sono lettere uguali.
se invece nella textbox1 mi compare "AC" e nella textbox2 "CDE", mi deve avvisare con un messaggio che una lettera la "C" (che equivale ad una classe), è presente in entrambe le textbox.
Sto provando usando
"If Mid(TextBox1, 1, 1) = Mid(TextBox2, 1, 1) or Mid(TextBox1, 2, 1) = Mid(TextBox2, 1, 1) or Mid(TextBox1, 3, 1) = Mid(TextBox2, 1, 1)" ecc.
Ma le combinazioni sono tante in quanto ci possono essere fino a quattro lettere sia nella textbox1, che nella textbox2.
Esiste un modo più semplice per confrontarle?
macio66
Utente Senior
 
Post: 134
Iscritto il: 13/06/13 14:59

Sponsor
 

Re: VBA Excel - confrontare parte del testo in due textbox

Postdi Anthony47 » 07/01/21 02:27

Ad esempio:
Codice: Seleziona tutto
tb1TXT = UserForm1.TextBox1.Text
For I = 1 To Len(UserForm1.TextBox1.Text)
    If InStr(1, UserForm1.TextBox2.Text, Mid(tb1TXT, I, 1), vbTextCompare) > 0 Then
        MsgBox (">" & Mid(tb1TXT, I, 1) & "< e' presente in " & UserForm1.TextBox2.Text)
    End If
Next I


Da inserire ...dove serve

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17445
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: VBA Excel - confrontare parte del testo in due textbox

Postdi macio66 » 07/01/21 13:07

Ciao Anthony

Grazie per l'aiuto, funziona perfettamente.
Io nel frattempo ero riuscito a creare un comando che funziona.Lo posto cosi, primo mi piacerebbe sapere se è corretto, secondo potrebbe venire utile a qualcuno.
'
Dim strA As String, strB As String
Dim Chk As Variant, Chk2 As Variant

strA = TextBox1.Value
strB = TextBox12.Value
Chk2 = strA Like "*" & strB & "*"
Debug.Print TypeName(Chk2)
'
If strA Like "*" & strB & "*" Then
MsgBox " classe non compatibile ", vbInformation
Exit Sub
End If
'
macio66
Utente Senior
 
Post: 134
Iscritto il: 13/06/13 14:59

Re: VBA Excel - confrontare parte del testo in due textbox

Postdi macio66 » 07/01/21 13:10

Ancora una cosa.
Come faccio ad inserire un codice nella discussione come quello che hai inserito tu?
macio66
Utente Senior
 
Post: 134
Iscritto il: 13/06/13 14:59

Re: VBA Excel - confrontare parte del testo in due textbox

Postdi Anthony47 » 07/01/21 13:29

L'operatore Like lavora sulle stringhe, cosi' se tbox1 contiene ABC e tbox2 contenesse BCDEFG il risultato sarebbe Falso, che immagino sia sbagliato per il tuo obiettivo. Insomma, se procedi a un test del tuo codice in molte situazioni fallirebbe

Per formattare correttamente il codice devi usare il "tag" Code, che e' visualizzato in cima al box in cui scrivi il tuo messaggio: selezioni il testo da formattare, premi il pulsante Code.

Se non vedi il pulsante Code allora probabilmente sei in "risposta veloce", dovresti quindi avere un comando "Passa all'editor completo" che ti mostrera' tutte le opzioni.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17445
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: VBA Excel - confrontare parte del testo in due textbox

Postdi macio66 » 07/01/21 15:11

Ho provato il tuo esempio, e come mi avevi anticipato, in questo caso il confronto non è corretto.
Pazienza, almeno ci ho provato. :(
Grazie per la dritta su come formattare il codice
ciao
macio66
Utente Senior
 
Post: 134
Iscritto il: 13/06/13 14:59


Torna a Applicazioni Office Windows


Topic correlati a "VBA Excel - confrontare parte del testo in due textbox":


Chi c’è in linea

Visitano il forum: Marius44 e 45 ospiti