[Risolto] Controllo testo e divisione in colonne

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
Aluc
Messaggi: 24
Iscritto il: lunedì 12 luglio 2021, 12:12

[Risolto] Controllo testo e divisione in colonne

Messaggio da Aluc »

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
Ultima modifica di Aluc il martedì 26 luglio 2022, 11:23, modificato 3 volte in totale.
Open Office4 .1.6
Windows 10
Avatar utente
gioh66
Volontario assiduo
Volontario assiduo
Messaggi: 1906
Iscritto il: lunedì 31 luglio 2017, 14:57
Località: Friuli

Re: Controllo testo e divisione in colonne

Messaggio da gioh66 »

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
Aluc
Messaggi: 24
Iscritto il: lunedì 12 luglio 2021, 12:12

Re: Controllo testo e divisione in colonne

Messaggio da Aluc »

Ecco l'esempio del file risultato voluto e allego anche il file originale di partenza.
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
patel
Volontario attivo
Volontario attivo
Messaggi: 4030
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Controllo testo e divisione in colonne

Messaggio da patel »

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
Aluc
Messaggi: 24
Iscritto il: lunedì 12 luglio 2021, 12:12

Re: Controllo testo e divisione in colonne

Messaggio da Aluc »

GRAZIE! sembra funzionare bene
Alessandra
Open Office4 .1.6
Windows 10
Rispondi