Condividi:        

Excel: formula per aggiungere una "S" alle lettere minuscole

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

Excel: formula per aggiungere una "S" alle lettere minuscole

Postdi valle1975 » 26/09/23 07:37

Buongiorno a tutti, avrei la necessità di distinguere delle tipologie di articoli che si differenziano soltanto da fatto che parte sono scritti in minuscolo e parte in maiuscolo, rendendomi cosi' impossibile poi elaborarli su Excel, che non li distingue.
Vorrei pertanto renderli diversi tra loro, aggiungendo una lettere "S" a tutti quelli che sono in minuscolo , ma pur evendo cercato soluzioni, non ho trovato come soddisfare questa necessità.

Quindi ad esempio , avendo un risultato come questo:

Articolo, Articolo_convertito
B , B
b, BS
f, FS
F, F
Be, BES

grazie mille.
Valerio
---------------------------------
Windows 10 Professional + MS Office 2016 STD Ita
valle1975
Utente Senior
 
Post: 213
Iscritto il: 27/09/10 16:33

Sponsor
 

Re: Excel: formula per aggiungere una "S" alle lettere minus

Postdi Anthony47 » 26/09/23 09:09

Puoi provare con questa macro:
Codice: Seleziona tutto
Sub ULCaser()
Dim StarD As Range, Dest As Range, myC As Range
Dim xStra As String, ccStr As String
Dim iOut As Long, I As Long, gotLC As Boolean
'
Set StarD = Sheets("Foglio1").Range("N1")       '<<< I dati di partenza
Set Dest = Sheets("Foglio1").Range("P1")        '1 <<< La posizione di uscita
'Set Dest = Nothing                             '2 Per 1-2 vedi testo
xStra = "."                                     '<<< La stringa da aggiungere
'
If Dest Is Nothing Then
    Set Dest = StarD
Else
    Dest.Resize(10000, 1).ClearContents
End If
Application.ScreenUpdating = False
iOut = 1
For Each myC In Range(StarD, StarD.Offset(10000, 0).End(xlUp))
    ccStr = myC.Value
    If Len(ccStr) > 0 Then
        For I = 1 To Len(ccStr)
            If Asc(Mid(ccStr, I, 1)) > 96 Then
                Dest.Cells(iOut, 1) = ccStr & xStra
                gotLC = True
                Exit For
            End If
        Next I
        If gotLC Then gotLC = False Else Dest.Cells(iOut, 1) = ccStr
    End If
    iOut = iOut + 1
Next myC
Application.ScreenUpdating = True
End Sub

Le righe marcate <<< vanno compilate con i tuoi dati.
In particolare le righe 1 e 2 sono alternative; nel senso che ho previsto che l'output possa essere generato in una nuova posizione (lasciando l'istruzione 1, correttamente compilata, e lasciando la posizione 2 "commentata", come e' adesso); questo serve soprattutto per il test.
Oppure togli l'Apostrofo in testa alla riga 2, cancelli o commenti la riga 1; in questo caso i dati di partenza vengono sovrascritti con i dati modificati.
Cioe':
Codice: Seleziona tutto
'I dati vengono scritti nella nuova posizione indicata:
Set Dest = Sheets("Foglio1").Range("P1")        '1 <<< La posizione di uscita
'Set Dest = Nothing                             '2 Per 1-2 vedi testo

OPPURE
Codice: Seleziona tutto
'I dati di partenza vengono sovrascritti:
'Set Dest = Sheets("Foglio1").Range("P1")        '1 <<< La posizione di uscita
Set Dest = Nothing                             '2 Per 1-2 vedi testo

Personalmente credo che i dati di partenza non debbano mai essere alterati

Prova...
Avatar utente
Anthony47
Moderatore
 
Post: 19228
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel: formula per aggiungere una "S" alle lettere minus

Postdi Marius44 » 26/09/23 09:32

Ciao
Puoi provare con questa formula (se il valore è in A1)
=SE(E(CODICE(A1)>=97;CODICE(A1)<=122);MAIUSC(A1)&"S";A1)

Fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00

Re: Excel: formula per aggiungere una "S" alle lettere minus

Postdi valle1975 » 26/09/23 13:46

Grazie mille per entrambe le soluzioni.
Valerio
---------------------------------
Windows 10 Professional + MS Office 2016 STD Ita
valle1975
Utente Senior
 
Post: 213
Iscritto il: 27/09/10 16:33


Torna a Applicazioni Office Windows


Topic correlati a "Excel: formula per aggiungere una "S" alle lettere minuscole":


Chi c’è in linea

Visitano il forum: Nessuno e 25 ospiti