Condividi:        

Selezionare una riga di testo all'interno di una cella

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

Selezionare una riga di testo all'interno di una cella

Postdi Gattuccio0 » 19/10/09 14:44

Buon giorno a tutti.
Prima di tutto vorrei scusarmi con tutti se non mi son fatto sentire per mesi ma qualcuno ci ha fatto una sorpresa e prima dell'estate ci ha rubato tutti i PC dall'ufficio. Sono mesi che cerco di riscrivermi a tutti i forum, mailing, ecc.

Ma veniamo al dunque: esiste la possibilità di estrapolare da una cella di Excel solamente una riga di testo?
Esempio. io ho un data base di recensioni cinematografiche di una videoteca.

Loro hanno su colonna A il codice di riferimento di una VHS ed in colonna B la descrizione del film per codice, titolo, sunto (vi riporto i dati della colonna B)

012900 (codice film)
SOUTH FROM GRANADA (titolo)
All'inizio degli anni Venti, Gerald Brenan, un giovane idealista inglese di nobile famiglia e aspirante scrittore, va a Yegen, un paesino della Alpujarra granadina. Il suo obiettivo è isolarsi dal mondo con 2000 libri come unica compagnia. Lì incontra non solo la pace per leggere e scrivere, ma anche l'amore di Juliana, una sensuale adolescente del paese. L'Andalusia gli offrirà un nuovo modo di intendere la vita: la gioia di vivere dei suoi abitanti e la sua passione per la letteratura spagnola segneranno per sempre la sua vita.

All'interno della cella, la formattazione è come quella sopra riportata.
La mia domanda è la seguente: se io dovessi creare l'elenco dei film della videoteca creando una tabella che abbia in colonna A il codice del film e nella colonna B il titolo (per cui solo la seconda riga all'interno della cella) è possibile farlo oppure devo fare un copia incolla e rifare tutto?
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Sponsor
 

Re: Selezionare una riga di testo all'interno di una cella

Postdi Flash30005 » 19/10/09 15:55

Ciao Gattuccio
Mi dispiace per l'accaduto...

Vedi se questa macro risolve il tuo problema
Codice: Seleziona tutto
Sub CopiaTitoli()
UR = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
For RigaF = 1 To UR
    PS = 0
    Titolo = ""
    Frase = ""
    Ini = 0
    LFrase = 0
    Codice = 0
    Frase = Sheets("Foglio1").Range("B" & RigaF).Value
    LFrase = Len(Frase)
    For CT = 1 To LFrase
        If Mid(Frase, CT + Codice, 1) = Chr(10) Then
            PS = PS + 1
            Ini = CT
            Codice = CT
        End If
        If PS = 1 Then
            Titolo = Mid(Frase, Ini, CT + 1)
        End If
    Next CT
    Sheets("Foglio1").Range("A" & RigaF).Copy Destination:=Sheets("Foglio2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
    Sheets("Foglio2").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Value = Titolo
Next RigaF
End Sub

Ho considerato il foglio1 come origine dei dati e il foglio2 come output dati dove avrai il codice nella colonna A e il titolo nella colonna B

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Selezionare una riga di testo all'interno di una cella

Postdi pietrol » 19/10/09 19:55

Ciao Gattuccio
se ho ben capito come sono mesi i dati questa potrebbe essere
una soluzione senza macro alternativa a quella di Flash(ciao).
Se i dati sono in B2 la formula da mettere in C2 per avere il codice sarà:
Codice: Seleziona tutto
=STRINGA.ESTRAI(B2;RICERCA(CODICE.CARATT(10);B2)

e in D2 per il titolo:
Codice: Seleziona tutto
=STRINGA.ESTRAI(B2;LUNGHEZZA(C2)+2;RICERCA(CODICE.CARATT(10);B2;LUNGHEZZA(C2)+2)-LUNGHEZZA(C2)-2)


Fai sapere

ciao
pietrol
il lupo ululà, il castello ululì
pietrol
Utente Senior
 
Post: 270
Iscritto il: 07/01/09 14:34

Re: Selezionare una riga di testo all'interno di una cella

Postdi Gattuccio0 » 20/10/09 09:59

(mi mancava il forum...)

La cosa eccezionale del forum è data dal fatto che tanto più siete bravi e veloci voi e maggiormente vengono emerse le mie scarsissime capacità.

Ho fatto le prove da voi suggerite ma non ho cavato un ragno dal buco. Qui http://rapidshare.com/files/295404468/P ... S.xls.html ho messo il file di prova che ha solamente 8 records. Molto probabilmente ho sbagliato qualcosa io oppure ho delle impostazioni differenti:
1) nel caso della macro mi appare il pop up di errore
2) nel caso delle due formule non accade nulla

P.S. io ho il pacchetto XP

Gattuccio
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: Selezionare una riga di testo all'interno di una cella

Postdi Flash30005 » 20/10/09 10:56

Ciao Gattuccio
Il problema stava nel fatto che la macro prevedeva due fogli: Foglio1 dati origine e Foglio2 dati destinazione in assenza di questi fogli la macro va in errore (non trovando i fogli previsti)
Fatto questo, c'era solo da aggiungere la testata Range(A1:B1)
ora ti invio il file corretto e funzionante
http://rapidshare.com/files/295422108/P ... 2.xls.html

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Selezionare una riga di testo all'interno di una cella

Postdi Gattuccio0 » 20/10/09 12:55

Perfetto!


Gattuccio
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: Selezionare una riga di testo all'interno di una cella

Postdi pietrol » 20/10/09 13:53

Ciao gattuccio
per forza non sei riuscito con le formule, la prima era completamente sballata.
Visto che hai risolto non è più importante comunque in C2 la formula corretta era
Codice: Seleziona tutto
=SINISTRA(B2;RICERCA(CODICE.CARATT(10);B2)-1)


Buon lavoro

ciao
pietrol
il lupo ululà, il castello ululì
pietrol
Utente Senior
 
Post: 270
Iscritto il: 07/01/09 14:34

Re: Selezionare una riga di testo all'interno di una cella

Postdi Gattuccio0 » 20/10/09 15:38

Mi togliete una curiosità? Capisco che dietro le vostre soluzioni ci sia un cocktail formato da:
% di esperienza
% di spunti dal forum
% di invettiva e capacità risolutiva
% conoscenza del programma

Ma uno come me che proviene dalla ocnoscenza dei programmi di grafica...come potrebbe avvicinarsi per esempio ad Excel, capendo di più tutto ciò che è VBA o macro?

Ogni tanto vedo qualche corso ma sono base: al massimo ti spiegano cose che trovi anche nelle info del programma...

Gattuccio
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: Selezionare una riga di testo all'interno di una cella

Postdi zorea » 20/10/09 16:06

Oltre al doveroso cimentarsi "sulle sudate carte"... ;)
puoi trovare corsi personalizzati, ovvero corsi creati sulle tue esigenze in cui concordi il programma con il docente.
Oppure corsi di vba for application.

Ciao :D
zorea
Utente Junior
 
Post: 48
Iscritto il: 05/06/09 15:07

Re: Selezionare una riga di testo all'interno di una cella

Postdi zorea » 20/10/09 16:18

Una domanda per Pietrol, relativamente alle funzioni indicate:
mi puoi spiegare la parte inerente CODICE.CARATT(10)?

Grazie grazie ;)
zorea
Utente Junior
 
Post: 48
Iscritto il: 05/06/09 15:07

Re: Selezionare una riga di testo all'interno di una cella

Postdi pietrol » 20/10/09 16:54

Ciao zorea
sapendo che nelle celle con testo a capo le righe sono separate da un "salto riga" e che questo nel set di caratteri Windows corrisponde al valore 10 ho utilizzato la funzione CODICE.CARATT(10) per determinare l'inizio e la fine delle seconda riga nella cella ed estrarne il contenuto.
Ogni simbolo, stampabile o non stampabile(come il salto riga) ha una sua corrispondenza nel set di caratteri utilizzato, per sapere qual'è puoi usare la funzione CODICE, che fa il lavoro opposto di CODICE.CARATT
=CODICE("A") restituisce 65
=CODICE.CARATT(65) restituisce A

Usa l'help per approfondire, poi se hai ancora dubbi qui troverai sicuramente qualcuno in grado di risponderti.

ciao
pietrol
il lupo ululà, il castello ululì
pietrol
Utente Senior
 
Post: 270
Iscritto il: 07/01/09 14:34

Re: Selezionare una riga di testo all'interno di una cella

Postdi Flash30005 » 20/10/09 21:25

Gattuccio0 ha scritto:Mi togliete una curiosità? ....
Ma uno come me che proviene dalla ocnoscenza dei programmi di grafica...come potrebbe avvicinarsi per esempio ad Excel, capendo di più tutto ciò che è VBA o macro?
...


Ti dice niente il nome Flash? (a parte il personaggio fumettistico dell'avatar?)
Fotografia e grafica "personalizzata"
Il Vba/Vbe/Basic etc mi interessano e mi affascinano al solo pensiero che tolgono all'uomo quei lavori ripetitivi che una macchina fa meglio dell'uomo stesso (più velocemente e senza sbagliare) lasciando a quest'ultimo più tempo per meditare, creare, inventare, cosa ancora impossibile per una macchina.

Ciao

P.s. Per Pietrol, il codice sotto forma di formula è interessante ma nel caso di Gattuccio non va bene perché in B lui ha come prima riga il codice e seconda riga il titolo e con la formula da te postata trascrive solo il codice e non il titolo.
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Selezionare una riga di testo all'interno di una cella

Postdi pietrol » 20/10/09 22:46

Ciao Flash
l'ultima formula postata era appunto una correzione della precedente, sbagliata, che avrebbe dovuto estrarre il codice del film.
Insieme a quella c'era anche la formula per l'estrazione del titolo, forse ti è sfuggita perchè non funzionando la prima non poteva funzionare nemmeno la seconda che a quella si appoggiava.

ciao
pietrol
il lupo ululà, il castello ululì
pietrol
Utente Senior
 
Post: 270
Iscritto il: 07/01/09 14:34

Re: Selezionare una riga di testo all'interno di una cella

Postdi Flash30005 » 21/10/09 10:34

Ottimo Pietrol!
Metto tutto in cascina,
certe soluzioni tornano sempre utili... ;)

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "Selezionare una riga di testo all'interno di una cella":


Chi c’è in linea

Visitano il forum: Nessuno e 60 ospiti