Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[EXCEL] Allineare celle excel a destra

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

[EXCEL] Allineare celle excel a destra

Postdi g.campatelli » 13/11/15 12:09

Buonasera a tutti,

Avevo già aperto questo topic nel forum Discussioni, ma non ho ricevuto risposte.
Forse questo forum è più adatto.
Lo avevo scritto in Discussioni anche perchè sono nuovo e sono poco pratico del sito.
Spero non sia un problema.

Ho un foglio di excel di svariate righe, circa 170k, per ogni riga ho delle caselle con dentro una singola parola.
Ogni riga non ha il solito numero di caselle piene.
A partire dalla sinistra ogni riga del foglio non ha casella vuote tra la prima casella piena, che si trova sempre nella colonna A, e l'ultima, che non è sempre la solita.

Esempio:
A1=Ciao B1=come C1=stai?
A2=sto B2=bene C2=grazie D2=te E2=come F2=Stai?
A3=bene B3=anch'io

Ho la necessità di allineare le caselle tutte sulle destra

Esempio:
D1=Ciao E1=come F1=stai?
A2=sto B2=bene C2=grazie D2=te E2=come F2=Stai?
E3=bene F3=anch'io

Esiste una funzione che faccia questa cosa, o una Macro?

L'unica funzione che io conosco è inserisci (singola) cella, ma non posso utilizzarla per ogni riga perchè mi ci vorrebbe troppo tempo.

Attendo pazientemente una Vostra risposta e vi porgo i miei più cordiali saluti

Giordano.
g.campatelli
Utente Junior
 
Post: 16
Iscritto il: 01/11/15 09:22

Sponsor
 

Re: [EXCEL] Allineare celle excel a destra

Postdi alfrimpa » 13/11/15 12:17

Ciao g.campatelli

Onestamente non ho capito molto.

Potresti allegare un file di esempio con pochi dati inserendo manualmente il risultato desiderato?

Sul menù Home -> Allineamento trovi tutti i pulsanti per allineare ma non credo che sia questo.

Per allegare file puoi usare un sito di file sharing tipo Filedropper.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [EXCEL] Allineare celle excel a destra

Postdi g.campatelli » 13/11/15 13:48

questo è il link.

Spero sia chiaro.

http://www.filedropper.com/esempioallinacelleadestra

Grazie mille dell'interessamento. :)
g.campatelli
Utente Junior
 
Post: 16
Iscritto il: 01/11/15 09:22

Re: [EXCEL] Allineare celle excel a destra

Postdi alfrimpa » 13/11/15 14:30

Ciao g.campatelli

ti allego il tuo file

http://www.filedropper.com/campatelli

nel quale ho inserito la sottostante macro

Codice: Seleziona tutto
Sub allinea()
Dim rng As Range
Dim cel As Range
Set rng = Range("k3:k5")
For Each cel In rng
    If cel.Value < 6 Then
        Range("a" & cel.Row & ":" & "F" & cel.Row).Cut Destination:=Range("d" & cel.Row)
    End If
Next cel
End Sub


che fa quello che hai chiesto sulla base dell'esempio che hai postato (nelle celle K3:K5) ho inserito un CONTA.VALORI() che occorre per il funzionamento della macro.

Devo, però, sottolineare che detto codice non è per nulla versatile nel senso che se la struttura dei tuoi dati reali è diversa credo non funzioni più.

Per un soluzione più mirata dovresti fare una casistitica il più completa possibile di come sono strutturati i tuoi dati.

Non so se mi sono spiegato.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [EXCEL] Allineare celle excel a destra

Postdi g.campatelli » 13/11/15 15:17

Intanto ti ringrazio moltissimo per il tempo a me dedicato, purtroppo però c'è una cosa che non riesco ad adattare per il mio caso
=Range("D" & cel.row)

Nel senso che non tutte le righe che hanno un conta.valore() diverso dal massimo conta.valore() devono essere sposate del solito numero di celle.

Per l'appunto nell'esempio che ti ho mandato io le righe erano composte da 3 celle, 6 celle e 3 celle piene
Ma se fossero state 3 celle, 6 celle, 2 celle, la Macro non avrebbe funzionato correttamente.

Riflettendoci credo che la soluzione sia che:

ad ogni riga deve essere aggiunta a sinistra della prima cella piena (che è sempre nella colonna A) un numero di celle pari alla differenza tra il CONTA.VALORE() più alto e il CONTA.VALORE() della riga.

E' possibile integrare questa cosa nella macro che mi hai inviato?

Il resto della Macro sono in grado di adattarla al mio caso.

saluti

Giordano
g.campatelli
Utente Junior
 
Post: 16
Iscritto il: 01/11/15 09:22

Re: [EXCEL] Allineare celle excel a destra

Postdi alfrimpa » 13/11/15 15:29

Ciao Giordano

Ho più o meno capito quello che hai detto ma riesci a fare un esempio più realistico della tua casistica?

Se ad es. abbiamo una tabella di questo tipo nel caso ci sia una sola parola questa dove va posta; nella prima cella vuota a destra disponibile o dove?

CIAO COME STAI?
STO BENE GRAZIE TE COME STAI?
STO BENE ANCH'IO
TU SAI
IO VOGLIO ANDARE
TU HAI UNA CASA
PAROLA

Non so se mi sono spiegato.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [EXCEL] Allineare celle excel a destra

Postdi g.campatelli » 13/11/15 15:46

Ti ricarico un secondo esempio con le parole che mi hai dato te

http://www.filedropper.com/esempio2allineaadestracelle
g.campatelli
Utente Junior
 
Post: 16
Iscritto il: 01/11/15 09:22

Re: [EXCEL] Allineare celle excel a destra

Postdi Anthony47 » 13/11/15 20:30

Io proverei cn questa macro, che allinea le colonne a quella piu' alta presente sul foglio.
Lavora su copia del foglio.
Codice: Seleziona tutto
Sub rjust()
Dim LastC As Long, I As Long, LastCC As Long
'
ActiveSheet.Copy After:=ActiveSheet
LastC = Cells.Find(What:="*", After:=[A1], _
              SearchOrder:=xlByColumns, _
              SearchDirection:=xlPrevious).Column
lastr = Cells.Find(What:="*", After:=[A1], _
              SearchOrder:=xlByRows, _
              SearchDirection:=xlPrevious).Row
Application.ScreenUpdating = False
For I = 1 To lastr
    LastCC = Cells(I, Columns.Count).End(xlToLeft).Column
    If LastCC < LastC Then
        Cells(I, 1).Resize(1, LastC - LastCC).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    End If
Next I
Application.ScreenUpdating = True
End Sub

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL] Allineare celle excel a destra

Postdi g.campatelli » 14/11/15 19:34

Funziona!!

Grazie mille a tutti!! :) :) :)
g.campatelli
Utente Junior
 
Post: 16
Iscritto il: 01/11/15 09:22


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] Allineare celle excel a destra":


Chi c’è in linea

Visitano il forum: saxas e 12 ospiti