[Ayuda vb Excel] Agregar datos en celda sin cambiar colores

12/12/2003 - 18:52 por Nilo | Informe spam
Hola a todo el mundo,

Quizás alguien conoce algún truco para resolver un pequeño problema que
me tiene loco...

Se trata de que NO me cambie los colores de algunos datos al agregar
otros a esa celda. Me explico:

Tengo una celda donde voy añadiendo unas referencias: 01\A, 02\A, etc.
El problema viene porque cada una de las referencias puede tener un
color diferente (o no) y cuando añado una nueva referencia me cambia
todas las anteriores al color predeterminado de la celda sin respetar el
que encontró.

Utilizo el sencillo metodo de almacenar el contenido actual de la celda
en una variable para luego asignarla el valor de la variable + la nueva
referencia... algo asi...

Set loquehay = ActiveCell
ActiveCell.Value = loquehay + ", " + Me.Nueva_referencia

Pero no me respeta los colores que había...

¿Alguien sabe como evitarlo? ¿Es posible añadir contenido a una celda
sin borrar los datos que haya y sin pasar previamente a una variable su
contenido?

La unica forma que he encontrado que respete los colores es mediante un
PasteEspecial(PasteAll)... pero en este caso no encuentro la forma para
que me deje añadir a lo que pega mi nueva referencia...

Gracias de antemano.

Un saludo,
Nilo
 

Leer las respuestas

#1 Fernando Arroyo
12/12/2003 - 19:27 | Informe spam
Pienso que tienes que usar el método Characters de la celda. Por ejemplo, el siguiente ejemplo añadiría "cc" cada vez que se ejecutara a la celda A1 de Hoja1. Si cambias la propiedad ColorIndex de la fuente, verás que cada pareja de ces tiene un color diferente:


Sub prueba()
Dim rng As Range
Dim intPos As Integer

Set rng = Worksheets("Hoja1").Range("a1")
intPos = Len(rng) + 1
rng.Characters(intPos, 2).Text = "cc"
rng.Characters(intPos, 2).Font.ColorIndex = 2

Set rng = Nothing
End Sub


Sin ver el código completo de tu procedimiento no puedo ser más concreto, pero espero que este ejemplo te sirva de ayuda.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Nilo" escribió en el mensaje news:
Hola a todo el mundo,

Quizás alguien conoce algún truco para resolver un pequeño problema que
me tiene loco...

Se trata de que NO me cambie los colores de algunos datos al agregar
otros a esa celda. Me explico:

Tengo una celda donde voy añadiendo unas referencias: 01\A, 02\A, etc.
El problema viene porque cada una de las referencias puede tener un
color diferente (o no) y cuando añado una nueva referencia me cambia
todas las anteriores al color predeterminado de la celda sin respetar el
que encontró.

Utilizo el sencillo metodo de almacenar el contenido actual de la celda
en una variable para luego asignarla el valor de la variable + la nueva
referencia... algo asi...

Set loquehay = ActiveCell
ActiveCell.Value = loquehay + ", " + Me.Nueva_referencia

Pero no me respeta los colores que había...

¿Alguien sabe como evitarlo? ¿Es posible añadir contenido a una celda
sin borrar los datos que haya y sin pasar previamente a una variable su
contenido?

La unica forma que he encontrado que respete los colores es mediante un
PasteEspecial(PasteAll)... pero en este caso no encuentro la forma para
que me deje añadir a lo que pega mi nueva referencia...

Gracias de antemano.

Un saludo,
Nilo

Preguntas similares