Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Trova ed estrae parole in corsivo copiandole in alt

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] Trova ed estrae parole in corsivo copiandole in alt

Postdi Lorenzino » 19/02/14 17:44

Buonasera.
Congratulazioni per la vostra pagina e per la competenza che possedete.
Premettendo di non essere molto esperto di programmazione vi presento il mio problema.
Ho un documento in Excel 2003 con un migliaio di celle che contengono solo testo composto da parole maiuscole e/o minuscole in formato normale e da altre in formato corsivo.
Ho la necessità di estrarre e copiare in altre celle adiacenti a quelle di origine solo le parole in formato corsivo maiuscole e/o minuscole.
Non sono riuscito a trovare in rete qualche spunto utile a permettermi di risolvere il problema.
Vi sarei grato se prendeste in cosideraione questa mia richiesta.
Vi ringrazio e porgo cordiali saluti
Lorenzino
Newbie
 
Post: 6
Iscritto il: 18/02/14 10:18

Sponsor
 

Re: [Excel] Trova ed estrae parole in corsivo copiandole in

Postdi ricky53 » 19/02/14 17:53

Ciao,
prima di tutto benvenuto nel forum.

Veniamo al tuo quesito:
nella stessa cella si possono trovare parole in corsivo, maiuscole e minuscole ?
Una parola può essere in parte in corsivo e in parte no?
Stessa domanda per il maiuscolo e minuscolo?

Quanto chiedi ad un primo approccio sembra fattibile ma con del codice in VBA.
tu come te la cavi con il VBA? e con la programmazione?


Sarebbe preferibile avere un esempio che sia esaustivo della tua reale situazione, ovviamente senza dati riservati.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Trova ed estrae parole in corsivo copiandole in

Postdi Lorenzino » 19/02/14 18:28

Grazie per la tua risposta in vero incredibilmente sollecita.
In VBA ho fatto qualcosa diversi anni fa e da allora non mi sono più esercitato: non essendo più giovane non ho più la giusta elasticità mentale per cui ho difficoltà nel riprendere a sviluppare le macro. Nonostante ciò ho intenzione di impegnarmi e rispolverare le vecchie nozioni.
Ti allego un esempio di testo compreso in una cella:

Emil Jannings -- The Last Command {"General Dolgorucki [Grand Duke Sergius Alexander]"}; and The Way of All Flesh {"August Schilling"}
In cui sono in corsivo "Emile Janning - The Last Commander - The Way of All Flesh" mentre le rimanendi parole sono in normale.

Confidando di avere risposto alla tua domanda in modo da render più comprensivo il contenuto del discorso.
Lorenzino
Lorenzino
Newbie
 
Post: 6
Iscritto il: 18/02/14 10:18

Re: [Excel] Trova ed estrae parole in corsivo copiandole in

Postdi ricky53 » 19/02/14 23:52

Ciao,
bene allora inizierei con la selezione delle parole in corsivo.

Ci risentiamo domani
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Trova ed estrae parole in corsivo copiandole in

Postdi ricky53 » 19/02/14 23:58

Ciao,
prova questo codice
Codice: Seleziona tutto
Sub Trova_caratteri_in_corsivo()
    Dim I As Integer, J As Integer, Dato As String, UR As Integer
   
    Columns(3).ClearContents ' <<===== Cancella i dati nella colonna "C" e poi verranno scritti i dati trovati
    UR = Range("B" & Rows.Count).End(xlUp).Row
    For J = 2 To UR
        Dato = Cells(J, "B")
        For I = 1 To Len(Dato)
            If Cells(J, "B").Characters(Start:=I, Length:=1).Font.FontStyle = "Corsivo" Then
                Cells(J, "C") = Cells(J, "C") & Mid(Cells(J, "B"), I, 1)
            End If
        Next I
    Next J
    MsgBox "Elaborazione effettuata"
End Sub


I dati su cui cercare il "CORSIVO" ipotizziamo che siano nella colonna "B" ed inizino dalla riga "2"
Le parole trovate in corsivo verranno scritte nella stessa riga ma nella colonna "C"

ATTENZIONE: la macro cancella tutti i dati presenti nella colonna "C", se la colonna "C" ha dei dati cambia la colonna nel codice

Prova e ... a risentirci
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Trova ed estrae parole in corsivo copiandole in

Postdi Lorenzino » 20/02/14 16:25

Benissimo (non ne dubitavo) funziona tutto come desideravo.
Io mi ero incartato sulla lettura di ciascun carattere come hai scritto nalla opzione DATO.Ti ringrazio nuovamente e faccio i complimenti per la tempestività e la competenza dimostrata.
Lorenzino
Lorenzino
Newbie
 
Post: 6
Iscritto il: 18/02/14 10:18

Re: [Excel] Trova ed estrae parole in corsivo copiandole in

Postdi ricky53 » 20/02/14 16:40

Ciao,
grazie a te per i ringraziamenti.

Prosegui con le prove e ... sono QUI.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Trova ed estrae parole in corsivo copiandole in alt":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti