Ciao,
In una colonna ho una frase che è composta da una marca e una descrizione di un prodotto.
Esempio: Colonna A -> Felce Azzurra sapone liquido 300ml
Devo separare marca da descrizione ottenendo 2 colonne
Esempio: Colonna A -> Felce Azzurra Colonna B -> sapone liquido 300ml
non riesco a farlo con "Testo a colonne" con separatore lo spazio perchè la Marca può avere 2 parole ed ottengo una colonna con solo la prima parola (Felce), devo poi correggere a mano o combinare le colonne di testo, lavoro che sto cercando di evitare per ottimizzare i tempi.
Quello che chiedo è:
se creo una cartella MARCHE con all'interno un file MARCHE.ods che contiene una colonna con tutte le possibili marche, esiste una macro che possa controllaree il testo della Colonna A e verificare se il nome della marca è presente (lo sarà sempre) nel file MARCHE.ods, trovandolo crea 2 colonne A e B, nella colonna A mi restituisce la marca, anche composta di più parole, così come l'avrà trovata sul file MARCHE.ods e nella colonna B mi lascia solo il testo restante cioè la sola descrizione (sapone liquido 300ml)
Grazie in anticipo a chi mi potrà aiutarmi
Alessandra
[Risolto] Controllo testo e divisione in colonne
[Risolto] Controllo testo e divisione in colonne
Ultima modifica di Aluc il martedì 26 luglio 2022, 11:23, modificato 3 volte in totale.
Open Office4 .1.6
Windows 10
Windows 10
Re: Controllo testo e divisione in colonne
Ciao. Posta un file d'esempio con il risultato voluto messo a mano.
...se sei soddisfatto delle risposte ricevute metti il [Risolto] viewtopic.php?f=9&t=5661
Libreoffice 25.8 LinuxMint 21/22
Libreoffice 25.8 LinuxMint 21/22
Re: Controllo testo e divisione in colonne
Ecco l'esempio del file risultato voluto e allego anche il file originale di partenza.
Ciao
Alessandra
Ciao
Alessandra
- Allegati
-
- RisultatoVoluto.ods
- (10.41 KiB) Scaricato 59 volte
-
- file-originale.ods
- (13.91 KiB) Scaricato 54 volte
Open Office4 .1.6
Windows 10
Windows 10
Re: Controllo testo e divisione in colonne
Prova questa macro, ti allego anche il file
Codice: Seleziona tutto
Sub SearchArt
Dim gr1 as string
Sh1 = ThisComponent.getSheets().getByName("Foglio1")
Sh2 = ThisComponent.getSheets().getByName("Marche")
'Sh1.getCellRangeByName("D2:D50").clearContents(36)
c = Sh1.createCursor
c.gotoEndOfUsedArea(false)
LR1 = c.RangeAddress.EndRow
c = Sh2.createCursor
c.gotoEndOfUsedArea(false)
LR2 = c.RangeAddress.EndRow
for r=1 to LR1
descr=Sh1.GetCellByPosition(0, r).string
for rr=1 to LR2
marca = Sh2.GetCellByPosition(0, rr).string
if instr(descr,marca) > 0 then
l=len(marca)
prod = Right(descr,len(descr)-l-1)
Sh1.GetCellByPosition(1, r).string=marca
Sh1.GetCellByPosition(2, r).string=prod
exit for
end if
next
next
End Sub- Allegati
-
- MarcaSeparaDaProdotto.ods
- (26.28 KiB) Scaricato 62 volte
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Re: Controllo testo e divisione in colonne
GRAZIE! sembra funzionare bene
Alessandra
Alessandra
Open Office4 .1.6
Windows 10
Windows 10

