Pagina 1 di 1

[Risolto] Dividere un numero con decimali in 2 colonne

Inviato: venerdì 19 agosto 2022, 16:29
da Aluc
Ciao a tutti,
ho una colonna con prezzi composti da numero intero , decimali es: 1,90 ho bisogno di dividere questo in 2 colonne come l'esempio seguente:
COLONNA A
1
COLONNA B
,90
Qualcuno mi sa aiutare con una macro?
Grazie

Re: Dividere un numero con decimali in 2 colonne

Inviato: venerdì 19 agosto 2022, 20:13
da gioh66
Ciao. Senza ricorrere a una macro puoi usare testo in colonne scegliendo la virgola come separatore.

Re: Dividere un numero con decimali in 2 colonne

Inviato: sabato 20 agosto 2022, 6:59
da patel
Se non ti va bene la soluzione di gio spiega meglio lo scopo della tua richiesta.

Re: Dividere un numero con decimali in 2 colonne

Inviato: sabato 20 agosto 2022, 10:44
da Aluc
Si certo lo sto già facendo con il testo a colonne, siccome ho diverse colonne e ciclicamente sempre il solito lavoro da fare, speravo in una macro così da premere il pulsante e ottenere il risultato in un solo click. Devo ottimizzare i tempi.
Grazie comunque per la tua risposta

Re: Dividere un numero con decimali in 2 colonne

Inviato: sabato 20 agosto 2022, 11:16
da gioh66
Ah ok allora lascio la parola a @patel che saprà aiutarti sicuramente più di me

Re: Dividere un numero con decimali in 2 colonne

Inviato: sabato 20 agosto 2022, 12:35
da patel
Allega un file di esempio con i dati ed il risultato desiderato.

Re: Dividere un numero con decimali in 2 colonne

Inviato: sabato 20 agosto 2022, 20:23
da bobo779256
Forse non ho capito, anzi... sicuramente..., ma non va bene così?

Immagine

Semplificato al massimo

Re: Dividere un numero con decimali in 2 colonne

Inviato: lunedì 22 agosto 2022, 10:20
da Aluc
Ecco un file di esempio con il risultato che mi serve
C'è la colonna A che è il dato di partenza, la Colonna B e C è il risultato di come mi serve suddiviso.
Testo a colonne lo sto già utilizzando, sto cercando una macro per farlo.
Grazie se potrai aiutarmi

Re: Dividere un numero con decimali in 2 colonne

Inviato: martedì 23 agosto 2022, 11:12
da Aluc
bobo779256 ha scritto: sabato 20 agosto 2022, 20:23 Forse non ho capito, anzi... sicuramente..., ma non va bene così?

Immagine

Semplificato al massimo
La soluzione funziona, ma con una macro associata al click di un pulsante sarabbe molto più rapido, considerando che lo devo fare più volte.
L'intento è quello di ottenere il risultato in minore tempo possibile.
Grazie per il tuo suggerimento.

Re: Dividere un numero con decimali in 2 colonne

Inviato: martedì 23 agosto 2022, 11:12
da Aluc
patel ha scritto: sabato 20 agosto 2022, 12:35 Allega un file di esempio con i dati ed il risultato desiderato.
Ho inviato sotto un file di esempio, ti ringrazio se potrai aiutarmi.

Re: Dividere un numero con decimali in 2 colonne

Inviato: martedì 23 agosto 2022, 12:21
da patel
Hai detto che hai diverse colonne, la soluzione di bobo è la più rapida.

Re: Dividere un numero con decimali in 2 colonne

Inviato: martedì 23 agosto 2022, 14:09
da Aluc
Ho 2 colonne ogni file e il lavoro si ripete ogni settimana su nuovi files.
La soluzione di Bobo, che ringrazio, come rapidità si equivale a testo a colonne che sto già usando.
Con la macro sarebbe un solo click, io non so scrivere il codice per le macro ma credo per chi lo sa fare che sia una cosa banale.
Grazie per i vostri suggerimenti

Re: Dividere un numero con decimali in 2 colonne

Inviato: martedì 23 agosto 2022, 17:02
da patel
La macro ed il pulsante sono legati al file, se ogni settimana cambi file devi copiarci la macro ed il pulsante, ti conviene ? comunque mi serve un file significativo.

Re: Dividere un numero con decimali in 2 colonne

Inviato: martedì 23 agosto 2022, 19:24
da Aluc
patel ha scritto: martedì 23 agosto 2022, 17:02 La macro ed il pulsante sono legati al file, se ogni settimana cambi file devi copiarci la macro ed il pulsante, ti conviene ? comunque mi serve un file significativo.
Mi conviene farlo perchè mi tengo il file salvato con la macro e ci incollo le 2 colonne che devo lavorare.
Ti allego un file che mostra cosa ricevo (colonne A-B) e cosa devo ottenere. Le righe con i prezzi sono mediamente 260, qui te ne ho messe solo alcune di esempio.

Ciao

Re: Dividere un numero con decimali in 2 colonne

Inviato: martedì 23 agosto 2022, 23:13
da bobo779256
Aluc ha scritto: martedì 23 agosto 2022, 11:12La soluzione funziona, ma con una macro associata al click di un pulsante sarabbe molto più rapido, considerando che lo devo fare più volte.
L'intento è quello di ottenere il risultato in minore tempo possibile.
Mettendo le formule che ho proposto non devi nemmeno cliccare sul pulsante, solo incollare o importare i valori della colonna A ed in automatico avrai le colonne B e C riempite

E' che di mio se posso le macro non le uso, in questo caso non ne vedo la necessità

Ma sul file ci devi lavorare tu, per cui attendi se qualcuno ti consiglia una macro o, se vuoi, ti faccio un esempio con le formulette già proposte

Re: Dividere un numero con decimali in 2 colonne

Inviato: mercoledì 24 agosto 2022, 7:24
da patel
Nell'esempio allegato in colonna A ci sono numeri e testo (vedi 6,80), nel file originale avrai solo numeri, solo testo o ambedue ?
Inoltre le colonne A e B avranno sempre lo stesso numero di righe valorizzate?

Re: Dividere un numero con decimali in 2 colonne

Inviato: mercoledì 24 agosto 2022, 10:17
da Aluc
bobo779256 ha scritto: martedì 23 agosto 2022, 23:13
Aluc ha scritto: martedì 23 agosto 2022, 11:12La soluzione funziona, ma con una macro associata al click di un pulsante sarabbe molto più rapido, considerando che lo devo fare più volte.
L'intento è quello di ottenere il risultato in minore tempo possibile.
Mettendo le formule che ho proposto non devi nemmeno cliccare sul pulsante, solo incollare o importare i valori della colonna A ed in automatico avrai le colonne B e C riempite

E' che di mio se posso le macro non le uso, in questo caso non ne vedo la necessità

Ma sul file ci devi lavorare tu, per cui attendi se qualcuno ti consiglia una macro o, se vuoi, ti faccio un esempio con le formulette già proposte
Ti ringrazio molto per i tuoi consigli, quello che devo ottenere in finale dal file di origine che mi viene dato da altri, che io preparo per importazioni su software grafici è una combinazione di diverse lavorazioni. Comprendo che non sia quindi chiaro da parte tua la mia scelta della macro, non mi dilungo sui dettagli in quanto non sono comunque rilevanti. La soluzione da te proposta funziona benissimo, l'ho già utilizzata in passato, sto utilizzando anche testo a colonne, avrei necessità quindi adesso di utilizzare la macro.

Re: Dividere un numero con decimali in 2 colonne

Inviato: mercoledì 24 agosto 2022, 10:26
da Aluc
patel ha scritto: mercoledì 24 agosto 2022, 7:24 Nell'esempio allegato in colonna A ci sono numeri e testo (vedi 6,80), nel file originale avrai solo numeri, solo testo o ambedue ?
Inoltre le colonne A e B avranno sempre lo stesso numero di righe valorizzate?
Nel file che ricevo le colonne sono tutte numeri, a me non importa che siano numero o testo ovvero se necessario posso anche convertire la colonna numero in testo purchè sia ottenuto il risultato che ti ho mostrato nel file di esempio, in particolare che davanti alla " , " non ci siano numeri.
le colonne A e B avranno sempre lo stesso numero di righe.
Il numero delle righe è variabile di volta in volta possono essere 200 come 250 o più , dipende dai prodotti in offerta in quel periodo.
Grazie
Ciao

Re: Dividere un numero con decimali in 2 colonne

Inviato: mercoledì 24 agosto 2022, 10:29
da patel
esempio-colonne.ods
(13.94 KiB) Scaricato 69 volte
la virgola davanti ai decimali ti serve ?
prova il file allegato

Re: Dividere un numero con decimali in 2 colonne

Inviato: mercoledì 24 agosto 2022, 11:52
da bobo779256
Aluc ha scritto: mercoledì 24 agosto 2022, 10:17 ..., avrei necessità quindi adesso di utilizzare la macro.
ok 8-)

Re: Dividere un numero con decimali in 2 colonne

Inviato: mercoledì 24 agosto 2022, 12:01
da Aluc
patel ha scritto: mercoledì 24 agosto 2022, 10:29 esempio-colonne.odsla virgola davanti ai decimali ti serve ?
prova il file allegato
Si la virgola è fondamentale. Provo il file e ti aggiorno

Re: Dividere un numero con decimali in 2 colonne

Inviato: mercoledì 24 agosto 2022, 12:52
da Aluc
Aluc ha scritto: mercoledì 24 agosto 2022, 12:01
patel ha scritto: mercoledì 24 agosto 2022, 10:29 esempio-colonne.odsla virgola davanti ai decimali ti serve ?
prova il file allegato
Si la virgola è fondamentale. Provo il file e ti aggiorno
Funziona perfettamente finchè le celle di prezzo e offerta contengono un numero, sebbene la quantità di righe prezzo/offerta siano uguali, ho il caso in cui di un prodotto ho solo il prezzo (colonna B offerta cella vuota) oppure il prodotto non ha indicato ne prezzo ne offerta e le celle restano vuote nelle colonne AB. In questo caso dà errore
Vedi allegato esempio
Grazie
Ciao

Re: Dividere un numero con decimali in 2 colonne

Inviato: mercoledì 24 agosto 2022, 17:15
da patel
prova questa

Codice: Seleziona tutto

Sub DIVIDI
   Dim  Arr() As String
   Doc = ThisComponent
   Sheet = Doc.Sheets(0)
   c = Sheet.createCursor
   c.gotoEndOfUsedArea(false)
   LastRow = c.RangeAddress.EndRow
   for r=1 to LastRow
      S=Sheet.GetCellbyPosition(0,r).string
      if s<>"" then
        arr=split(S,",")
        Sheet.GetCellbyPosition(3,r).value = arr(0)
        Sheet.GetCellbyPosition(4,r).string = "," & arr(1)
      end if
      S=Sheet.GetCellbyPosition(1,r).string
      if s<>"" then      
        arr=split(S,",")
        Sheet.GetCellbyPosition(5,r).value = arr(0)
        Sheet.GetCellbyPosition(6,r).string = "," & arr(1)
      end if
   next
end sub

Re: Dividere un numero con decimali in 2 colonne

Inviato: giovedì 25 agosto 2022, 11:10
da Aluc
patel ha scritto: mercoledì 24 agosto 2022, 17:15 prova questa

Codice: Seleziona tutto

Sub DIVIDI
   Dim  Arr() As String
   Doc = ThisComponent
   Sheet = Doc.Sheets(0)
   c = Sheet.createCursor
   c.gotoEndOfUsedArea(false)
   LastRow = c.RangeAddress.EndRow
   for r=1 to LastRow
      S=Sheet.GetCellbyPosition(0,r).string
      if s<>"" then
        arr=split(S,",")
        Sheet.GetCellbyPosition(3,r).value = arr(0)
        Sheet.GetCellbyPosition(4,r).string = "," & arr(1)
      end if
      S=Sheet.GetCellbyPosition(1,r).string
      if s<>"" then      
        arr=split(S,",")
        Sheet.GetCellbyPosition(5,r).value = arr(0)
        Sheet.GetCellbyPosition(6,r).string = "," & arr(1)
      end if
   next
end sub
Funziona perfettamente, adesso le operazioni che devo fare sono davvero molto più rapide.
Grazie infinite!