Riempire caselle Excel e mettere le parentesi a tutti i valori

Anonimo
2014-02-10T16:28:07+00:00

Con riferimento al  thread in data 5/2/2014 avente come titolo: Riempire caselle Excel e mettere virgolette a tutti i valori, proposto da Mimantico.

Avendo provato con successo il codice proposto da Mauro Gamberini, ed avendolo trovato perfettamente funzionante, chiedo, nel limite del possibile, se posso avere questo codice con, in luogo delle virgolette, le parentesi tonde.

Saluti e Grazie, Paolo

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
2014-02-11T16:59:45+00:00

<cut>

In ultimo, non ho capito quando affermi: “Se l'obiettivo finale diventa evidente, forse sarà possibile trovare una soluzione…

DOMANDA: cosa intendi per “obiettivo…… evidente”  ?

Saluti, Paolo


NOTA. Condivido l'opinione di Norman: se chi risponde sa qual è il risultato che l'utente vuole ottenere e perché, diventa più facile rispondere.

---

Oltre alla risposta di Norman, prova:

Public Sub m()

      Dim rng As Range

      Dim c As Range

      Set rng = ActiveCell.CurrentRegion

      For Each c In rng

          c.Value = "'(" & c.Value & ")"

      Next

      Set c = Nothing

      Set rng = Nothing

  End Sub

L'apice lo vedi solo nella barra delle formule, non nelle celle.

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2014-02-11T16:41:51+00:00

[Cut]

In ultimo, non ho capito quando affermi: “Se l'obiettivo finale diventa evidente, forse sarà possibile trovare una soluzione…

DOMANDA: cosa intendi per “obiettivo…… evidente”  ?

Saluti, Paolo

Ciao Paolo, la mia tendenza, la mia predilezione se vuoi, è sempre di chiedermi lo scopo di un ricorso prima di pensare alla sua fattibilità tecnica.  In questo modo, la mia esperienza suggerisce che delle soluzioni o approcci superiori possono essere sviluppati. Pertanto, prima di spingere la mia mano in acqua bollente, mi chiedo l'obiettivo e, se questo sia di accertare la temperatura dell'acqua,  penserei del uso alternativo di un termometro.

Tuttavia, per rispondere alla domanda se sia “tecnicamente possibile”, prova la seguente leggero adattamento del codice suggerito da Mauro:

'===========>>

Option Explicit

'----------->>

Public Sub m()

Dim rng As Range

Dim c As Range

Set rng = ActiveCell.CurrentRegion

For Each c In rng.Cells

c.Value = "(" & c.Text & ")"

Next

rng.NumberFormat = "(#,##0);(#,##0)"

Set c = Nothing

Set rng = Nothing

End Sub

'<<===========

Comunque, per quanto riguarda l'utilità di questo codice. davvero non saprei - penso che il termometro sia preferibile!  :-)

Ovviamente, potresti pensare che sia sufficiente che tu sai perché cerchi una determinata soluzione. Tuttavia, per quelli di noi che cercano di aiutarvi, la motivazione e il fine ultimo sono fattori importanti che possono avere una notevole influenza sul l'approccio che possiamo suggerire.

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-02-11T01:25:30+00:00

    Ciao Paolo,

    Secondo me il codice di Mauro funziona esattamente come dovrebbe.

    Forse la ragione per cui il codice di Mauro non funziona come ti aspetti è che i valori numerici racchiusi tra parentesi sono riconosciuti da Excel come valori negativi, come fa anche la maggior parte degli standard contabili.

    Quindi permettimi di chiedere il motivo per voler racchiudere valori numerici tra parentesi? Se l'obiettivo finale diventa evidente, forse sarà possibile trovare una soluzione senza trasgredire le leggi della contabilità :-)

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-02-10T19:23:40+00:00

    Ciao Mauro

    Premesso che il Codice che hai riservato al "virgolettato" richiesto da Mimantico in data 5/2/2014, funziona sia con i Valori Alfabetici, Numerici ed Alfanumerici.

    Chiedo, se tecnicamente possibile, che anche  la mia richiesta di emissione di Parentesi, **** goda anch'essa delle tre opzioni sopra descritte in grassetto.

    In Ultimo, ti comunico di avere testato i tuoi due codici e non capisco la differenza tra i due, atteso che entrambi i tuoi due codici,  funzionano sia sui valori alfabetici che alfanumerici, ma non sui valori solo numerici.

    A dopo?

    Ciao Paolo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-02-10T16:45:13+00:00

     

    Avendo provato con successo il codice proposto da Mauro Gamberini, ed avendolo trovato perfettamente funzionante, chiedo, nel limite del possibile, se posso avere questo codice con, in luogo delle virgolette, le parentesi tonde.

    Sempre considerando valori e non formule nelle celle, se hai solo testo:

    Public Sub m()

         Dim rng As Range

         Dim c As Range

         Set rng = ActiveCell.CurrentRegion

         For Each c In rng

             c.Value = "(" & c.Value & ")"

         Next

         Set c = Nothing

         Set rng = Nothing

     End Sub

    Se hai anche valori numerici:

    Public Sub m()

         Dim rng As Range

         Dim c As Range

         Set rng = ActiveCell.CurrentRegion

         For Each c In rng

             c.Value = "(" & c.Text & ")"

         Next

         Set c = Nothing

         Set rng = Nothing

     End Sub

    La risposta è stata utile?

    0 commenti Nessun commento