Saltar al contenido

no me pega el formato de fila


Recommended Posts

bueans tengo este codigo

Private Sub BtnGrabarDatos_Click()
On Error Resume Next

intvalor = 1
For i = 1 To ReCantidad Step 1

Range("B6").Select

Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

Range("B5:V5").Copy
Selection.PasteSpecial Paste:=xlPasteFormulasAndNumberFormatsAndFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False

ActiveCell = CDbl(ReCodigo)
ActiveCell.Offset(0, 1) = ReCategoria

If IsNumeric(ReNuFactura) Then
ActiveCell.Offset(0, 2) = CDbl(ReNuFactura)
Else
ActiveCell.Offset(0, 2) = ReNuFactura
End If

If ReReferencia.Enabled = False Then
ActiveCell.Offset(0, 5) = ""
ElseIf IsNumeric(ReReferencia) Then
ActiveCell.Offset(0, 5) = CDbl(ReReferencia)
Else
ActiveCell.Offset(0, 5) = ReReferencia
End If

ActiveCell.Offset(0, 6) = ReDescripcion
ActiveCell.Offset(0, 7) = ReFecha
ActiveCell.Offset(0, 10) = ReEstado

If ReVaUnitario1.Enabled = True Then
ActiveCell.Offset(0, 11) = CDbl(ReVaUnitario1)
Else
ActiveCell.Offset(0, 11) = CDbl(ReVaUnitario2)
End If
Next i

VCantidad1 = ""
VCantidad2 = ""
VUnitario1 = ""
VUnitario2 = ""
VTotal1 = ""
VTotal2 = ""

Unload Me
End Sub

[/CODE]

lo que hace es ingresar los datos en la primera fila vacia que encuentre a partir de la fila 6, en la "BASE DE DATOS" todo va bien ecepto que no me pega ni el formato ni las formulas de la fila cinco que estara oculta

DEPRECIACION 26.rar

Enlace a comentario
Compartir con otras webs

Hola aprendiz

Prueba a cambiar tu macro tal que

lo anterior..........
For i = 1 To ReCantidad Step 1

Range("B5:V5").Copy
Range("B6").Select

Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

ActiveSheet.Paste
........... lo siguiente[/CODE]

Un saludod esde Vitoria

Enlace a comentario
Compartir con otras webs

me funciona! pero me queda el borde animado de la fila... esa linea animada que se quita con el enter... lo de insertar formulas formatos estan bien :D un tema casi resuelto!! solo esa animacion como quitarla...

tuve que desactivar las formulas insertadas desde el codigo por problemas de compativilidad con las versiones inglesas...

lo anterior..........

For i = 1 To Val(ReCantidad) Step 1
Range("B5:W5").Copy
Range("B6").Select
Do While Not IsEmpty(ActiveCell) ActiveCell.Offset(1, 0).Select Loop
ActiveSheet.Paste
Fila = ActiveCell.Row
ActiveCell = CDbl(ReCodigo) ActiveCell.Offset(0, 1) = ReCategoria
If IsNumeric(ReNuFactura) Then ActiveCell.Offset(0, 2) = CDbl(ReNuFactura) Else ActiveCell.Offset(0, 2) = ReNuFactura End If
'ActiveCell.Offset(0, 3).FormulaLocal = "=SUMAPRODUCTO(1*($D$5:$D$65536=D" & Fila & "))" 'ActiveCell.Offset(0, 4).FormulaR1C1 = "=ROW()-5"
If ReReferencia.Enabled = False Then ActiveCell.Offset(0, 5) = "" ElseIf IsNumeric(ReReferencia) Then ActiveCell.Offset(0, 5) = CDbl(ReReferencia) Else ActiveCell.Offset(0, 5) = ReReferencia End If
ActiveCell.Offset(0, 6) = ReDescripcion ActiveCell.Offset(0, 7) = ReFecha ActiveCell.Offset(0, 8) = Date ActiveCell.Offset(0, 10) = ReEstado
If ReVaUnitario1.Enabled = True Then ActiveCell.Offset(0, 11) = CDbl(ReVaUnitario1) Else ActiveCell.Offset(0, 11) = CDbl(ReVaUnitario2) End If
'ActiveCell.Offset(0, 12).FormulaLocal = "=SUMAPRODUCTO(($D$5:$D$65536=$D" & Fila & ")*$M$5:$M$65536)" 'ActiveCell.Offset(0, 13).FormulaLocal = "=SI($Q" & Fila & "=0;0;SIFECHA($I" & Fila & ";$A$1+1;""Y""))" 'ActiveCell.Offset(0, 14).FormulaLocal = "=SI($Q" & Fila & "=0;0;SIFECHA($I" & Fila & ";$A$1+1;""YM""))" 'ActiveCell.Offset(0, 15).FormulaLocal = "=SI(DIAS360($I" & Fila & ";$A$1)<0;0;DIAS360($I" & Fila & ";$A$1))" 'ActiveCell.Offset(0, 17).FormulaLocal = "=DACUM($M" & Fila & ";DEP($B" & Fila & ");$Q" & Fila & ")" 'ActiveCell.Offset(0, 18).FormulaLocal = "=SI($Q" & Fila & "=0;0;SI($Q" & Fila & "<30;DACUM($M" & Fila & ";DEP($B" & Fila & ");$Q" & Fila & ");DMEN($M" & Fila & ";DEP($B" & Fila & "))))" 'ActiveCell.Offset(0, 19).FormulaLocal = "=SI($Q" & Fila & "=0;0;SI($Q" & Fila & "<360;DACUM($M" & Fila & ";DEP($B" & Fila & ");$Q" & Fila & ");SI(DED($B" & Fila & ")-$Q" & Fila & ">=360;$M" & Fila & "*DEP($B" & Fila & ");SI(DED($B" & Fila & ")-$Q" & Fila & "=0;"""";DACUM($M" & Fila & ";DEP($B" & Fila & ");$Q" & Fila & ")))))" 'ActiveCell.Offset(0, 20).FormulaLocal = "=SI(S" & Fila & "=0;0;SI(Q" & Fila & "=0;0;M" & Fila & "-S" & Fila & "))" 'ActiveCell.Offset(0, 21).FormulaLocal = "=SI(S" & Fila & "=0;0;SI(Q" & Fila & "=0;0;N" & Fila & "-DACUM(N" & Fila & ";DEP(B" & Fila & ");Q" & Fila & ")))"
........... lo siguiente[/CODE]

como veras que comente las formulas

Copia de DEPRECIACION 36.rar

Enlace a comentario
Compartir con otras webs

muchas gracias por ayudarme ioyama con tu sugerencia no habira podido avanzar mucho, asi termine poneido el codigo que opinas?

Private Sub BtnGrabarDatos_Click()
On Error Resume Next

For i = 1 To Val(ReCantidad) Step 1

Range("B5:W5").Copy
Range("B6").Select

Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

ActiveSheet.Paste
Selection.RowHeight = 13

ActiveCell = CDbl(ReCodigo)
ActiveCell.Offset(0, 1) = ReCategoria

If IsNumeric(ReNuFactura) Then
ActiveCell.Offset(0, 2) = CDbl(ReNuFactura)
Else
ActiveCell.Offset(0, 2) = ReNuFactura
End If

ActiveCell.Offset(0, 3).FormulaR1C1 = "=SUMPRODUCT(1*(R5C4:R65536C4=RC4))"
ActiveCell.Offset(0, 4).FormulaR1C1 = Evaluate("=ROW()-6")

If ReReferencia.Enabled = False Then
ActiveCell.Offset(0, 5) = ""
ElseIf IsNumeric(ReReferencia) Then
ActiveCell.Offset(0, 5) = CDbl(ReReferencia)
Else
ActiveCell.Offset(0, 5) = ReReferencia
End If

ActiveCell.Offset(0, 6) = ReDescripcion
ActiveCell.Offset(0, 7) = ReFecha
ActiveCell.Offset(0, 8) = Date
ActiveCell.Offset(0, 10) = ReEstado

If ReVaUnitario1.Enabled = True Then
ActiveCell.Offset(0, 11) = CDbl(ReVaUnitario1)
Else
ActiveCell.Offset(0, 11) = CDbl(ReVaUnitario2)
End If

ActiveCell.Offset(0, 12).FormulaR1C1 = "=SUMPRODUCT((R5C4:R65536C4=RC4)*R5C13:R65536C13)"
ActiveCell.Offset(0, 13).FormulaR1C1 = "=IF(RC17=0,0,DATEDIF(RC9,R1C1+1,""Y""))"
ActiveCell.Offset(0, 14).FormulaR1C1 = "=IF(RC17=0,0,DATEDIF(RC9,R1C1+1,""YM""))"
ActiveCell.Offset(0, 15).FormulaR1C1 = "=IF(DAYS360(RC9,R1C1)<0,0,DAYS360(RC9,R1C1))"
ActiveCell.Offset(0, 17).FormulaR1C1 = "=DACUM(RC13,DEP(RC2),RC17)"
ActiveCell.Offset(0, 18).FormulaR1C1 = "=IF(RC17=0,0,IF(RC17<30,DACUM(RC13,DEP(RC2),RC17),DMEN(RC13,DEP(RC2))))"
ActiveCell.Offset(0, 19).FormulaR1C1 = "=IF(RC17=0,0,IF(RC17<360,DACUM(RC13,DEP(RC2),RC17),IF(DED(RC2)-RC17>=360,RC13*DEP(RC2),IF(DED(RC2)-RC17=0,"""",DACUM(RC13,DEP(RC2),RC17)))))"
ActiveCell.Offset(0, 20).FormulaR1C1 = "=IF(RC[-3]=0,0,IF(RC[-5]=0,0,RC[-9]-RC[-3]))"
ActiveCell.Offset(0, 21).FormulaR1C1 = "=IF(RC[-4]=0,0,IF(RC[-6]=0,0,RC[-9]-DACUM(RC[-9],DEP(RC[-21]),RC[-6])))"

Next i

Application.CutCopyMode = False
VCantidad1 = ""
VCantidad2 = ""
VUnitario1 = ""
VUnitario2 = ""
VTotal1 = ""
VTotal2 = ""

Unload Me
End Sub

[/CODE]

me inserta las formulas el ancho de fila y formatos aunque hubiera sido mas bonito si no dependiera de la fila 5 para copiar el formato pero parece funcionar muy bien

muchas gracias por tu ayuda

Copia de DEPRECIACION 41.rar

Enlace a comentario
Compartir con otras webs

Hola aprendiz

¿Has probado a usar la grabadora de macros?

Ponla en marcha ejecuta manualmente la acción y paras la grabadora. Observa el código generado (normalmente después hay que depurarlo), del mismo podrás obtener sentencias útiles para tu código. Prueba por ejemplo a dar el formato deseado a un rango. Así verás si puedes evitar la copia de la fila 5 y usar el código que obtengas para el formato.

Un saludo desde Vitoria

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 93 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Gracias tomarse el tiempo de leer por responder Maestro @Antoni Adjunto el archivo con la idea a la que deseo llegar, sigo atento. Mil gracias por el tiempo y la ayuda brindada   Media Attention Formula 1.2.xlsb
    • He analizado la UDF y entiendo perfectamente lo que hace, lo que no entiendo es lo que pretendes hacer. Mejor sube un ejemplo resuelto de  como debería funcionar la UDF con los nuevos parámetros solicitados. 
    • Gracias, ya lo conseguí solucionar
    • Hola a todos Primero que nada deseo agradecer el tiempo en leer este post, Muchas Gracias. Me acerco a ustedes para pedir su ayuda para lo siguiente: Tengo una UDF, la cual tiene dos escenarios: 1.- Si Tiempo Promedio y Duración del Video son diferentes de 0, hacer el calculo 2.- Si lo anterior es igual a 0, se realiza el otro calculo por cuartiles. El detalle es que son muchas celdas a seleccionar, lo cual creo puede ser engorroso, entonces, pensando en simplificar la función, me pregunte si fuera posible: a.- Colocar 1 al principio de la función y después solo seleccionar 2 celdas correspondientes (Rango continuo o discontinuo) b.- Colocar 2 al principio de la función y después seleccionar las 5 celdas correspondientes (Rango continuo o discontinuo) Espero me puedan ayudar y/o orientar al respecto, quedo atento para cualquier duda, de antemano les agradezco cualquier ayuda brindada. Mil Gracias!! Media Attention Formula 1.1.xlsb  
    • si dentro de un tiempo "razonable" no consigues alguna propuesta, considera la posibilidad de que tu consulta no sea lo claro necesaria (?) la forma de preguntar en foros (como este) "debiera" ser como sigue: en tu siguiente mensaje, agrega comentarios que contengan (como minimo) lo siguiente: > claridad... detalle... procedimiento... resultado esperado - - (opcional: formulas y funciones intentadas, rangos, ejemplos resueltos a mano, etc.) > de la "claridad" en el "detalle"... se obtiene la claridad del "procedimiento" > de la claridad en el procedimiento... se obtiene el "resultado esperado" si te resulta dificil explicar con palabras, adjunta (una copia muy RE-DU-CI-DA de) TU modelo por "re-du-ci-da" me refiero a un adjunto de no mas de 10 a 30 Kb (SIN "formatitis") considerando que: "la parte mas importante de una instruccion... es el resultado que se debe obtener"
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.