** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Agregar color de texto y nombre de hojas a copiar
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoAgregar color de texto y nombre de hojas a copiar

 Responder Responder
Autor
Mensaje
JoaoM Ver desplegable
Habitual
Habitual
Avatar

Unido: 14/Septiembre/2010
Localización: Venezuela
Estado: Sin conexión
Puntos: 66
Enlace directo a este mensaje Tema: Agregar color de texto y nombre de hojas a copiar
    Enviado: 09/Febrero/2020 a las 20:58
Ejecución de la macro: Crea una hoja llamada Global. Copia el contenido de todas las hojas existentes a esa Global

Quisiera que después de ejecutada la macro, o en su ejecución, quedara como se ve en la imagen de la hoja Global. que es la creada para recibir las copias. Los títulos ya yo pude agregar, y el 1º título con el color y negrita, pero no tengo la capacidad para lo demás y También el nombre de cada hoja existente así como el color del texto que lo hice en el primer, (usando la grabadora) pero me falta que lo haga para todas las copias.

Copiar el nombre de cada hoja y darle el color vbRed a Negrita (Bold) al nombre y títulos

Subido en subir imagenes

Asi quisiera que quedara

Sub JuntarHojas()
Application.DisplayAlerts = False
For Each hoja In ActiveWorkbook.Sheets
If hoja.Name = "Global" Then hoja.Delete
Next
Sheets.Add before:=Sheets(1)
ActiveSheet.Name = "Global"

       ' Range("A1:m1").Font.Color = vbRed
       ' Range("A1:M1").Font.Bold = True
    With Range("A1:M1").Font
        .Color = vbRed
        .Bold = True
    End With

For x = 2 To Sheets.Count
Sheets(x).Select

Range("a1:o" & Range("a65000").End(xlUp).Row).Copy

Sheets("Global").Range("a65000").End(xlUp).Offset(0, 0).PasteSpecial Paste:=xlValues

Next
Sheets("Global").Select
Range("A1").Select
End Sub

Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5974
Enlace directo a este mensaje Enviado: 10/Febrero/2020 a las 22:44

- Para hacer lo que pretendes NO debes trabajar con rangos fijos Range("A1:M1"), sino que debes emplear rangos variables.


Proceso de ejemplo:

1.- Declara una variable DIM fila AS Double y en vez de  (p.e.) Range("A1:M1") utiliza  Range("A" & fila & ":M" & fila)

2.- Asigna a fila el valor 1 fila = 1

3.- Escribe  Dpeto 1 en CELLS(fila,4).

4.- Incrementa fila  fila = fila +1.

5.- Escribe los títulos.

6.- Incrementa fila  fila = fila +1.

7.- ... etc.


Saludos desde Tenerife.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable