Aggiunta di testo a una cella utilizzando VBA WITHOUT eliminando ciò che era già nella cella - excel, vba, excel-vba

Sto cercando di cambiare ciò che è in una cella dopo unla macro lo popola con i dati. Ad esempio, la mia macro posizionerà 750 nella cella. Devo quindi inserire una "T" nella cella, dopo il 750, senza cancellare il 750. Il 750 cambierà ogni volta che uso la macro, quindi non posso usare ActiveCell.FormulaR1C1 = "750 T"

Sarà sempre un numero con una "T" aggiunta, anche se va bene se è formattato come testo.

risposte:

4 per risposta № 1

Vuoi mantenere quello che c'è e aggiungere una T, ecco come:

ActiveCell.Value = ActiveCell.Value & " T"

È possibile modificare ActiveCell in qualsiasi modo.

Completamente plagiato da @ padawan0007, sebbene la risposta fosse ovvia.

Inoltre devo chiedere se stai usando ActiveCell.FormulaR1C1 per una ragione particolare? Dovresti usare .Value invece se non stai inserendo una formula reale.


4 per risposta № 2

Un approccio più flessibile consiste nell'usare il formato personalizzato per tali suffissi arbitrari. Per esempio,

ActiveCell.NumberFormat = "#,##0 T;-#,##0 T"

metterà il T come vuoi 750 T senza il sovraccarico di eseguire nuovamente le macro quando il numero 750 cambia. È possibile copiare, incollare, ordinare ed eseguire le normali operazioni su tali valori di cella senza influire sul suffisso T.


Menu