Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Office suite

Notices

Rispondi
 
Strumenti discussione
Vecchio 21-02-2016, 12.05.12   #16
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: [excel] giustificare testo all'interno della cella

Hai abilitato la ricerca con espressioni regolari?

EDIT: notavo ora che Excel potrebbe non contemplare l'uso di espressioni regolari (RE) nella trova/sostituisci... O_o

Vabbè... al di la dell'assurdità di questa mancanza, se queste RE non saltano fuori, vediamo alcune alternative:
- Usando libreoffice/openoffice apri un nuovo foglio di Calc, ci incolli la colonna incriminata, esegui la sostituzione e riincolli la colonna corretta sul foglio excel.
In alternativa anzichè libreoffice/openoffice, per una sola colonna per volta si può utilizzare qualsiasi blocco note avanzato, per esempio notepad++.
- Usi la funzione di Excel "Sostituisci", che mi pare supporti le espressioni regolari. In questo caso hai bisogno di una colonna nuova come appoggio per effettuare l'operazione. Una volta fatta copi i valori nella colonna originale.
- Usi uno script VBA che utilizzi l'oggetto RegExp e il metodo replace. Francamente mi sembra un'esagerazione per un'operazione banale come questa, ma tant'è... visto che funziona si potrebbe usare.
La funzione somiglierebbe a qualcosa come questa:
Codice:
Public Function RinuoviSpaziIniziali(PrimaCella As String, UltimaCella As String)
    Dim re As New RegExp
    re.Pattern =  "^\s+"    ' oppure "^[ \r\t\n\f]+"   in RE standard   "^[:space:]+"  

    Set MioRange = ActiveSheet.Range(PrimaCella &  ":" &  UltimaCella)
    For Each cell In MioRange 
        If re.Test(cell.Value) Then
            cell.Value = re.Replace(cell.value, "")
        End If
    Next cell
End Function
Per lanciare la funzione:
Codice:
RinuoviSpaziIniziali(B1,B100)
NOTA: B1 e B100 definiscono un range di celle, sostituire con il range appropriato.

oppure, utilizzando una cella, se non sbaglio si può scrivere:
Codice:
=RinuoviSpaziIniziali(B1,B100)
L'ho fatto di fretta, quindi non escludo qualche errore di sintassi o logica. In breve, testala prima di usarla sul tuo foglio!
___________________________________

La risposta è dentro di te...
e però, è sbagliata!
borgata non è collegato   Rispondi citando
Vecchio 21-02-2016, 20.43.37   #17
gutguy
Hero Member
 
L'avatar di gutguy
 
Registrato: 27-07-2004
Loc.: Bologna
Messaggi: 574
gutguy promette bene
Rif: [excel] giustificare testo all'interno della cella

ho risolto facendo

Codice:
Sub RimuoviSpazioIniziale()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Selezionare l'area in cui applicare la macro"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    Rng.Value = VBA.LTrim(Rng.Value)
Next
End Sub
gutguy non è collegato   Rispondi citando
Vecchio 21-02-2016, 21.44.04   #18
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: [excel] giustificare testo all'interno della cella

In effetti una volta passati al VB, usare una funzione preconfezionata come trim era più semplice
Anche se in in realtà trim elimina gli spazi anche alla fine del testo, non solo all'inizio. Vabbè, stessa cosa alla fine.

Piuttosto continua a sembrarmi assurdo l'assenza delle RE nel trova/sostituisci di Excel, per fare cosine di questo tipo è utilissimo.

PS: hai provato qualcuna delle soluzioni che ti ho suggerito?
___________________________________

La risposta è dentro di te...
e però, è sbagliata!
borgata non è collegato   Rispondi citando
Vecchio 22-02-2016, 00.36.14   #19
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
Rif: [excel] giustificare testo all'interno della cella

Quota:
Inviato da borgata Visualizza messaggio
... Piuttosto continua a sembrarmi assurdo l'assenza delle RE nel trova/sostituisci di Excel, per fare cosine di questo tipo è utilissimo.
No funziona invece ed è molto più pratico, era solo sbagliato il percorso di ricerca, bastava inserire lo spazio (premere barra spazio) nel campo "trova" e cliccare su sostituisci
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Vecchio 22-02-2016, 02.49.26   #20
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: [excel] giustificare testo all'interno della cella

Non era sbagliato, l'espressione regolare era corretta.
Il problema a quanto pare è che Excel non supporta le RE nella ricerca, ma devi usare per forza il VB.
Se inserisci solo lo spazio, come dici, elimini anche gli spazi interni al testo.
___________________________________

La risposta è dentro di te...
e però, è sbagliata!
borgata non è collegato   Rispondi citando
Vecchio 22-02-2016, 03.08.38   #21
gutguy
Hero Member
 
L'avatar di gutguy
 
Registrato: 27-07-2004
Loc.: Bologna
Messaggi: 574
gutguy promette bene
Rif: [excel] giustificare testo all'interno della cella

premesso che non ho capito bene cosa sia questo RE, qlcn mi fa un esempio pratico?
perché mi interesserebbe visto che sembra essere + pratico pure...
altra cosa, giusto per dovere di cronaca, se faccio

non funge, dove sbaglio?

EDIT:

dovevo scrivere "ANNULLA.SPAZI" invece di "TRIM", ora funge...
gutguy non è collegato   Rispondi citando
Vecchio 22-02-2016, 09.49.29   #22
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: [excel] giustificare testo all'interno della cella

Si, nella versione italiana di Excel le funzioni usate nel foglio vengono tradotte.
Stai provando quindi il secondo metodo che ti stavo suggerendo? (con il trim al posto del sostituisci)

Le RE (Regular Expressions, o Espressioni Regolari in italiano) sono una notazione che consente di eseguire manipolazione di stringhe in modo semplice e veloce. Se sei interessato ti consiglio di cercare online qualche guida e cominciare aprovare, sono molti i programmi che le utilizzano (ti consiglio notepad++ che ne fornisce un supporto completo).
Come sito di riferimento, ho trovato ben fatto questo.
___________________________________

La risposta è dentro di te...
e però, è sbagliata!
borgata non è collegato   Rispondi citando
Vecchio 22-02-2016, 13.05.06   #23
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Rif: [excel] giustificare testo all'interno della cella

Quota:
Inviato da gutguy Visualizza messaggio
premesso che non ho capito bene cosa sia questo RE, qlcn mi fa un esempio pratico?
perché mi interesserebbe visto che sembra essere + pratico pure...
altra cosa, giusto per dovere di cronaca, se faccio

non funge, dove sbaglio?

EDIT:

dovevo scrivere "ANNULLA.SPAZI" invece di "TRIM", ora funge...
Trim[$] è una funzione di VBA, così come RTrim[$] ed LTrim[$].
L'utilizzo di '$' consente di acquisire il parametro come stringa e non come variant, quindi è più indicato per una questione di performances, anche se le prestazioni in VB lasciano a desiderare.
Le Regular Expression sono utilissime quando è necessario verificare una maschera d'immissione prima dell'acquisiione di un dato, un po meno per effettuare operazioni di replace/remove.
Le funzioni di Excel come quella che hai utilizzato, dovresti considerarle come una serie di funzioni elencate in un modulo VBA, però nascosto all'utente; Sfortuna vuole che non vengano tradotte nel corrispettivo del linguaggio del pacchetto in uso, se questo è differente, proprio perchè non presenti in quell'elenco nascosto.
___________________________________

Practice feeds Skill,Skill limits Failure,Failure enhances Security,Security needs Practice
LoryOne non è collegato   Rispondi citando
Vecchio 24-02-2016, 18.22.56   #24
gutguy
Hero Member
 
L'avatar di gutguy
 
Registrato: 27-07-2004
Loc.: Bologna
Messaggi: 574
gutguy promette bene
Rif: [excel] giustificare testo all'interno della cella

chiamatemi rompiscatole, visto che lo sono, ma ora ho questo problema:



1. vorrei togliere tutte le parentesi quadre con relativo contenuto (ad es. [4])
2. vorrei togliere tutti i separatori di migliaia formato americano (quindi le virgole, 76,334 diventerebbe 76334)
3. vorrei sostituire i seperatori decimali punto formato usa in virgola formato italiano (12.82 diventerebbe quindi 12,82)

per gli ultimi 2 punto potrei semplicemente utilizzare sostituisci ma volevo aprofittare del discorso marco...

EDIT:

1. risolto facendo trova "[*]" e lasciando sostituisci vuoto
ma mi chiedevo se c'era anche una macro per qst
2. e 3. analogamente con sostituisci

ma mi chiedevo una macro può fare tutto?

poi ho un altro problema, come faccio sempre con una macro a convertire tutto da formato generale a formato numero?
perchè alcune righe non sono "normalizzate" allo stesso allineamento delle altre?
gutguy non è collegato   Rispondi citando
Vecchio 24-02-2016, 19.34.16   #25
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: [excel] giustificare testo all'interno della cella

Il primo risultato si ottiene con facilità sempre con le espressioni regolari.
Cerca
\[[0-9]+\]$
Sostituisci con... niente (stringa vuota)

Da vedere poi se Excel ri conosce i valori come numeri, in caso contrario bisogna trasformarli (a mano elimini il carattere ' davanti alla cifra, con le MACRO forse c'è qualche funzione aposita o basta convertire il formato dati)

Per i punti 2 e 3, ovviamente non puoi farli in questo ordine, altrimenti perdi il riferimento a dove inizia la parte decimale.
La cosa più semplice da fare mi sembra quella di assegnare la localizzazione inglese al documento, in modo che utilizzi il separatore decimale tipico del mondo anglosassone (ossia il punto). Fai attenzione a modificare la localizzazione del solo documento, e non del programma.
Una volta fatto tutte le cifre che ora non vengono riconosciute (nelle colonne C e D nell'immagine) dovrebbero spostarsi a destra (allineamento standard per i numeri).
___________________________________

La risposta è dentro di te...
e però, è sbagliata!
borgata non è collegato   Rispondi citando
Vecchio 24-02-2016, 19.53.22   #26
gutguy
Hero Member
 
L'avatar di gutguy
 
Registrato: 27-07-2004
Loc.: Bologna
Messaggi: 574
gutguy promette bene
Rif: [excel] giustificare testo all'interno della cella

Quota:
Inviato da borgata Visualizza messaggio
assegnare la localizzazione inglese al documento
come faccio a cambiare la localizzazione lingua solo per quel doc?
Facendo sta cosa risolverei anche il prob sotto?
gutguy non è collegato   Rispondi citando
Vecchio 24-02-2016, 20.13.24   #27
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: [excel] giustificare testo all'interno della cella

Non avendo office sotto mano non so dirti come fare, ma sicuramente con una ricerchina in rete lo trovi subito.

Quale sarebbe esattamente il problema sotto?
___________________________________

La risposta è dentro di te...
e però, è sbagliata!
borgata non è collegato   Rispondi citando
Vecchio 24-02-2016, 23.16.55   #28
gutguy
Hero Member
 
L'avatar di gutguy
 
Registrato: 27-07-2004
Loc.: Bologna
Messaggi: 574
gutguy promette bene
Rif: [excel] giustificare testo all'interno della cella

Quota:
Inviato da borgata Visualizza messaggio
Quale sarebbe esattamente il problema sotto
intendevo sempl qst->
gutguy non è collegato   Rispondi citando
Vecchio 25-02-2016, 01.17.23   #29
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: [excel] giustificare testo all'interno della cella

...e io intendevo che guardando l'immagine non avevo capito a quale problema ti riferissi!
Di che si tratta esattamente?
___________________________________

La risposta è dentro di te...
e però, è sbagliata!
borgata non è collegato   Rispondi citando
Vecchio 25-02-2016, 11.27.10   #30
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.302
Alexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tuttiAlexsandra è conosciuto da tutti
Rif: [excel] giustificare testo all'interno della cella

correggimi se sbaglio

la prima colonna con numeri (123, 76,334 etc..) è la N° 3 (C) ?
in questa colonna vuoi togliere il carattere [4], togliere il separatore dei decimali (la virgola) e allineare a Dx

nella colonna n° 4 (12.82, 7.74 etc..) vuoi cambiare separatore dei decimali dal punto alla virgola e allineare a Dx
nella colonna n° 5 (89.82, 238.53 etc..) ..... stesse operazioni della n° 4

PS: ho notato però che nella colonna n° 3 mi sembra che ci sia un carattere di separazione strano, è l'apostrofo???
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Corso VBA Alexsandra Guide 85 16-11-2016 12.11.51
Berlusca & Co. 2 - La vendetta Paco Chiacchiere in libertà 1145 04-01-2005 21.28.18
Censurateli tutti allora! Non solo chi vi fa comodo :mad: davlak Chiacchiere in libertà 52 20-05-2004 13.26.15

Orario GMT +2. Ora sono le: 01.34.44.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.