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
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.
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