aggiungere x spazi in una cella fino ad una lunghezza massima x

Anonimo
2011-09-12T21:08:03+00:00

In un Range ad esempio B3:E100 con celle contenenti tutto del testo, come faccio ad aggiungere x spazi ad ogni cella fino a raggiungere una lunghezza massima di tot (ad esempio 10).

Mi spiego meglio, ad esempio:

in B3 ho "Pippo"

in C3 ho "Ciao Pluto"

eccetera ...

in questo caso C3 è la lunghezza massima che ho nel range e che ottengo con formula matriciale:

=MAX(LUNGHEZZA(B3:E100))

ora devo fare in modo che tutte le celle del range abbiano una lunghezza massima di 10, quindi ad esempio in B3, dovrò aggiungere dopo "Pippo" 5 spazi ("     ")

Qualche suggerimento? Grazie mille e buona serata.

Ciao

Antonio

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2011-09-13T03:40:42+00:00

In un Range ad esempio B3:E100 con celle contenenti tutto del testo, come faccio ad aggiungere x spazi ad ogni cella fino a raggiungere una lunghezza massima di tot (ad esempio 10).

Mi spiego meglio, ad esempio:

in B3 ho "Pippo"

in C3 ho "Ciao Pluto"

eccetera ...

in questo caso C3 è la lunghezza massima che ho nel range e che ottengo con formula matriciale:

=MAX(LUNGHEZZA(B3:E100))

ora devo fare in modo che tutte le celle del range abbiano una lunghezza massima di 10, quindi ad esempio in B3, dovrò aggiungere dopo "Pippo" 5 spazi ("     ")

Qualche suggerimento? Grazie mille e buona serata.

Ciao

Antonio

Co una macro la cosa è semplice:

Public Sub m()

On Error GoTo RigaErrore

    Dim sh As Worksheet

    Dim rng As Range

    Dim lCar As Long

    Dim c As Range

    Set sh = ThisWorkbook.Worksheets("Foglio1")

    With sh

        Set rng = .Range("A1:A10")

        For Each c In rng

            c.Value = Mid(c.Value, 1, 10)

            lCar = Len(c.Value)

            If lCar < 10 Then

                c.Value = c.Value & String(10 - lCar, " ")

            End If

        Next

    End With

RigaChiusura:

    Set c = Nothing

    Set rng = Nothing

    Set sh = Nothing

    Exit Sub

RigaErrore:

    MsgBox Err.Number & vbNewLine & Err.Description

    Resume RigaChiusura

End Sub

Modifica il Range con il tuo.

La risposta è stata utile?

0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2011-09-13T17:24:11+00:00

    Ciao Mauro, ho provato e funziona benissimo, mi evito di utilizzare celle di appoggio e formule varie ... ; grazie 1000 e buona giornata.

    Ciao Antonio

    Grazie a te per il cortese riscontro e buon lavoro.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2011-09-13T05:00:14+00:00

    Ciao Mauro, ho provato e funziona benissimo, mi evito di utilizzare celle di appoggio e formule varie ... ; grazie 1000 e buona giornata.

    Ciao Antonio

    La risposta è stata utile?

    0 commenti Nessun commento