PROBLEMA Programmare in Excel

Merlin38

Utente Attivo
231
64
Salve, io sto utilizzando un semplicissimo macro su Excel che consiste in una specie di traduttore manuale. Questo è un esempio di codice che utilizzo.

Sub sostituzione()
'
' sostituzione Macro
'


'
Dim cella As Range
For Each cella In Range("H1:H353")
Dim strCella As String
strCella = cella.Text
Dim parole() As String
parole() = Split(strCella)
Dim nuovaStr As String
nuovaStr = ""
For i = 0 To UBound(parole)
Select Case parole(i)

Case "Ciao"
parole(i) = "Salve"

Case "Buongiorno mondo"
parole(i) = "Mondo buongiorno"



End Select
nuovaStr = nuovaStr & parole(i) & " "
Next
cella.FormulaR1C1 = nuovaStr
Next
End Sub



Dunque il mio problema con il seguente codice è soltanto uno, ovvero che nel primo Case lui riesce a fare tutto perfettamente ma nel secondo Case non riesce a trovare il Buongiorno mondo e sostituiro. Ho fatto delle prove e ho scoperto che praticamente il suo problema è lo Spazio tra le due parole. Mi chiedevo se qualcuno di voi avesse una soluzione. Grazie a tutti in anticipo!
 
M

Mursey

Ospite
Visto che ragioni a parole dovrebbe essere:
Case "Buongiorno"
parole(i) = "Mondo"
Case "mondo"
parole(i) = "buongiorno"

Ho capito male o va bene ?
 

Merlin38

Utente Attivo
231
64
Teoricamente va bene, ma nel mio caso avrei bisogno di cambiare delle frasi , cambiando parola per parola rischio di cambiare delle parole che si trovano in altre frasi che non voglio cambiare non so se mi sono spiegato.
 
M

Mursey

Ospite
Teoricamente va bene, ma nel mio caso avrei bisogno di cambiare delle frasi , cambiando parola per parola rischio di cambiare delle parole che si trovano in altre frasi che non voglio cambiare non so se mi sono spiegato.

Allora non puoi usare
parole() = Split(strCella)
Ti crea un array di parole mentre tu devi lavorare sulla stringa intera e cercare le parole in essa.
 

Merlin38

Utente Attivo
231
64
Sapete che comando posso usare? possibilmente che abbia sempre la possibilità di scelta del range di azione. grazie in anticipo
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!