Alineacion de celda a la derecha y celdas en negrita

3 envíos / 0 nuevos
Último envío
JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
Alineacion de celda a la derecha y celdas en negrita

Hola

Tengo esta macro que me funciona a miles % pegando datos de una hoja (Factura a otra (Ventas)

Sub PasarVentas()
    Set h1 = Sheets("Factura")
    Set h2 = Sheets("Ventas")
    '
    u = h2.Range("C" & Rows.Count).End(xlUp).Row + 2
    For i = 14 To 23
        If h1.Cells(i, "B") = "" Then Exit For
        '
        h2.Cells(u, "A") = h1.Cells(i, "B")
        h2.Cells(u, "B") = h1.Cells(i, "C")
        h2.Cells(u, "C") = h1.Cells(i, "F")
        h2.Cells(u, "d") = h1.Cells(i, "E")
        h2.Cells(u, "E") = h1.Cells(11, "E")
        u = u + 1
    Next
        h2.Cells(u, "B") = h1.Cells(27, "E")
        h2.Cells(u, "C") = h1.Cells(27, "F")

    MsgBox "Datos de " & Hoja7.Name & " pasados con exito a " & Hoja4.Name
End Sub

Quiero que en la hoja (Ventas) y dentro de la misma macro, linea(s) para colocar en Ventas, la pega de estas 2 lineas

        h2.Cells(u, "B") = h1.Cells(27, "E")
        h2.Cells(u, "C") = h1.Cells(27, "F")

en NEGRITA

Esta        h2.Cells(u, "B") = h1.Cells(27, "E") 

ademas de negrita,  que se alinee a la derecha

Las normas recomiendan subir un ejemplo pero creo no ser necesario pero, SI tengo que subirlo, lo subiré

Algo así debe quedar la alineacion y negrita

Recordar que esto se repite (como estan viendo) cada ves que se pega Factura en la hoja Ventas

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 23 horas 3 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
utiliza el grabador

Hola Joao

Para aplicar los formatos, como hay muchas propiedades que es difícil recordar, normalmente lo que yo hago es grabar una macro en la que aplico el formato que quiero. Luego voy al editor de VBA y veo el código que se ha grabado y de ahí tomo lo que necesito.

En tu caso concreto:

poner en negrita una celda es la propiedad .Font.Bold establecida en verdadero

.Font.Bold = True

La alineación horizontal es .HorizontalAlignment y tienes unas constantes xlLeft y xlRight para establecer izquierda o derecha

.HorizontalAlignment = xlRight

así que podrías ponerlo todo junto por ejemplo así:

With h2.Cells(u, "B")
   .Value = h1.Cells(27, "E").Value
   .Font.Bold=True
   .
HorizontalAlignment = xlRight
End With

 

 

------
Ya sé Excel, pero necesito más.

JoaoM
Imagen de JoaoM
Offline
última acción: Hace 1 año 2 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 15/12/2011 - 23:46
Puntos: 3040
De acuerdo contigo paco pero

De acuerdo contigo paco pero lo habia echo y me sale todo esto que no se como aplicarlo

Sub Macro5()
    Range("E6,E12").Select
    Range("E12").Activate
    Selection.Font.Bold = True
    Range("F6").Select
    With Selection
        .HorizontalAlignment = xlRight
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
End Sub

 Y como puedes ver en la macro de arriba, las celdas a negrita son celdas que nunca son las mismas porque ahora la macro pega en un determinado rango y la 2ª pega, 3ª 4ª etc ya es debajo de la que esta  y asi sucesivamente tal como puedes ver en la imagen,

Aqui te dejo de lo hace tu macro, solo faltaria que la celda de h2(hoja) que dice Bs   xxx.xxx,xx quede en negrita tambien

Paco, ¿como meter en tu macro, dicha celdatambien?

 

Estuve tratanso se hacerlo pero no llego hasta ese andar

 

EDITO:

Lo hice así

    With h2.Cells(u, "B")
        .value = h1.Cells(27, "E").value
        .Font.Bold = True
        .HorizontalAlignment = xlRight
        With h2.Cells(u, "c")
            .value = h1.Cells(27, "f").value
             .Font.Bold = True
        End With
    End With

 

¿Estará correcto? funciona pero no se si es el método correcto. Quiero tu analices y corrección si lo hay

como me queda. Asi quiero

Solucionado