Saltar al contenido

Guardar encabezado y detalle


Muscaria

Recommended Posts

Amigos, veran tengo esta macro para guardar datos de una proforma,solo debe guardar encabezados y el detalle, pero lo que hace es guardar solo el detalle (Cantidad,Dcs_actividad,semana) y el resto no lo guarda (sector,responsable,etc) y lo poco que guardalo hace mal por ejemplo.

- guardar solo 3 campos, en la hoja dbreal, que es un historico.

- lo que guardar lo hace muy bajo com sigue el corralativo de las filas ejem. 1er registro lo guarda en la fila 120 el 2do registro en la fila 500, y asi sucesivamente.

yo trte de buscar el problea a estos inconvenientes pero no lo encuentro. Recurro al apoyo del foro para resolver este inconveniente y a la vez aprender a identificar estas situaciones.

muchas gracias, y la espera de su colaboración

MEGAUPLOAD - The leading online storage and file delivery service

Disculpen por subir mi archivo en otro servidor, pero pesa un poquito mas de lo permitido, espero que no sea un problema.

Saludos

Muscaria

Enlace a comentario
Compartir con otras webs

Hola Celest3,

como no en cuanto este listo lo comparto para que otros que tengan el mismo problema pueden resolverlo, pero como digo cuendo este listo ya que hasta ahora no he podido dar con la solución. lamentablemente mis conocimientos son de novato, por eso subi mi archivo a ver si algun maestro del foro me da una ayuda para resolverlo.

ojala pronto tenga una repuesta.

saludos

muscaria

Enlace a comentario
Compartir con otras webs

Saludos Muscaria.

Cambia la macro del boton guardar por la siguiente

Private Sub cmdguardar_Click()
'Boton para cerrar orden
'Sheets("formulario").Unprotect "10"
Application.ScreenUpdating = False
'Se selecciona la hoja donde se encuentra la cotizacion y se selecciona el rango d18
Sheets("formulario").Activate
Sheets("formulario").Range("C13").Select
'Pregunta si se desea cerrar la orden de compra para ya no ingresar articulos.
YesNo = MsgBox(" Al cerrar ya no podra agregar al Pre actual..... ¿Esta seguro de Cerrar ? ", vbYesNo + vbCritical, "Atencion")
Select Case SiNo
'Si la respuesta es SI
Case vbSi
'Valida si se tiene unicamente una linea la orden de compra para colocar el titulo y si se han ingresado datos
If ActiveCell(1, 0).Value = Empty Then
MsgBox ("No ha ingresado datos")
Exit Sub
Else
'Se selecciona la ultima linea para colocar el titulo de ultima linea de la orden de compra
ActiveCell.Offset.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell = "********** U L T I M A L I N E A **********"
ActiveCell.Offset(0, -1) = "*"
'Se coloca formato rojo
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True
End If
'Hace visibles los botones cerrar orden e imprimir
cmdimprimir.Visible = True
cmdnuevo.Enabled = True
'Oculta botones de cerrar orden y de agregar articulos a orden de compra
cmdguardar.Enabled = False
frmpresupuesto.Frame1.Enabled = False
frmpresupuesto.Frame2.Enabled = False
frmpresupuesto.Frame3.Enabled = False
'Coloca el lista de articulos en blanco
ListBox1.RowSource = Empty
ListBox2.RowSource = Empty
'Se traslada al historico el numero de la cotizacion cerrada
'Sheets("Dbreal").Range("r1") = lbconta.Caption
'Se traslada al historico para copiar la informacion de la orden de compra
'**********joshua***********
Range("B14").Select
Do Until ActiveCell = "*"
Sheets("Dbreal").Range("A65536").End(xlUp).Offset(1, 0).Resize(, 10) = _
Array(ActiveCell, ActiveCell.Offset(, 1), ActiveCell.Offset(, 2), CBCULTIVO, CBSECTOR, _
CBVARIEDAD, cbrubro, lbconta, txtresponsable, Format(Now, "dd/mm/yyyy"))
ActiveCell.Offset(1, 0).Select
Loop
'**********joshua*************
'Si la respuesta es NO se cancela la operacion
Case vbNo
MsgBox ("Operacion cancelada")

End Select
Sheets("formulario").Activate
Application.ScreenUpdating = True
'Sheets("formulario").Protect "10"
End Sub

[/PHP]

Es una simple combinación de un bucle y un array, espero te sea de utilidad.

Atte.

joshua

Enlace a comentario
Compartir con otras webs

Hola Joshua, yo estaba haciendo algo parecido a Muscaria, he cambiado el código con el que tu has puesto, y si me funciona, mo me corria el contador pero viendo el codigo vi que la linea del contador estaba con ' le quite a ya corre, muchas gracias.mira siguendo este tema algo que me paso hoy estaba haciendo una orden llevaba 3 lineas y me llamaron de urgencia y tuve que cerrar la orden, cuando aun me faltaba ingresar mas cosas.Creo que muscaria, se le apso o no necesita esta opcion pero ami asi, nose si sera un boton que lo guarde pero no cierra y regreso a seguir haciendo esa orden.Espero que se me entienda lo que quiero decir y sea posible ayudarme. dfame una ayuda de como a hacerlo, asi como me ayudo Cacho R. y ahora estoy aprendiendo . SaludosCelest3

Enlace a comentario
Compartir con otras webs

joshua,

garcias por tu ayuda en el guardar, si me funciono, disculpa la demora en responder.

A celest3, amiga veras no me habia dado cuenta de ese detalle creo que si seria bueno tenerlo asi que avance y diseñe un formulario para eso y lo codifique, pero hay algunos problemas y dudas que se presentan y denuevo a pedir apoyo al foro.

1.- cuando selecciono un numero de presupuesto, me jala todos los datos que hay en la dbreal.

2.- y duda es al guardar. por ejemplo si escojo el pre N° 2 que tiene un item y de ahi segue el pre N° 3 cuando quiero agregar mas item al Pre N° 2 nose como seria por que tendria que agregarse una fila entre el pre- n° 2 y 3, pero ni idea como hacer esto .

Por favor alguien del foro nos pueda ayudar,

celet3, no hay ningun problema que me uses los formulariso que uso solo adaptarlos o lo que tu necesites, y ojala nos den ayuda a los dos, y si por ahi tienes algún conocimiento o opinión sobre el tema seran bien aceptados.

Adjunto Link para su descarga y puedan revisarlo y darme algun ejemplo o recomendacion sobre esta duda

https://skydrive.live.com/redir.aspx?cid=83f852d07de8a083&resid=83F852D07DE8A083!111

Enlace a comentario
Compartir con otras webs

Hola muscaria,que paso nada ninguna ayuda, yo estuve viendo tu archivo y bueno gracias por dejar que lo pueda usar si me vale para lo que quiero, pero parece que nos vamos a quedar en el mismo punto.voy por ahi averiguar com ayudarte desde que ingrese a este foro y tuve la ayuda de Cacho R, como que me gusta un poco y me baje algunos manuales que se llama el Code de Vba. parece muy complemento. buscare la manera de ayudar ya que paar eso es un foro de ayuda o n o ? SaludosCelest3

Enlace a comentario
Compartir con otras webs

Archivado

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

  • 96 ¿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

    • Hola, Mejor que subas un archivo que contenga esas fórmulas, indicando qué resultados esperas conseguir. Así ayudas a quien quiera ayudarte; no le obligas a que reproduzca ese modelo, y de paso podrá ver cuál es el objetivo buscado con esa/s fórmula/s. Saludos,
    • Buenas noches quisiera hacer esta formula auto incremental    =SI(INDIRECTO("'Casos de Prueba'!I1")="Resultados Ciclo 1"; SI(CONTAR.SI(INDIRECTO("'Casos de Prueba'!I:I"); "OK")=0; 0; CONTAR.SI(INDIRECTO("'Casos de Prueba'!I:I"); "OK")); 0)      para que cada vez que copiase y pegase la celda con la formula  se incrementara la letra en este caso la I pasara a J ,como el numero perteneciente a Resultados Ciclo pasando en este caso del 1 al 2.   Tengo también esta formula =CONCATENAR("CP";TEXTO(MAX((SI((ESNUMERO(HALLAR("CP";A$1:A1)))*(A$1:A1<>"");VALOR(EXTRAE(A$1:A1;3;3));0))+1);"000")&" - "&B2) quisiera que no tuviera los 3 ceros si no que fuera por ejemplo CP1 y se fuera incrementando. Gracias un saludo.
    • Con el diseño así como lo tiene en su libro, una fórmula de BUSCARV con COINCIDIR debería ser de utilidad =C5*BUSCARV($C$1,Tabla1[#Todo],COINCIDIR($D5,Tabla1[#Encabezados],0)) Es con lo que participaría en su consulta. Lo que resta es definir que hacer si no encuentra la OT porque así como esta le devolvería error en ese caso, o si tiene condiciones que haya podido omitir también le afectarían el resultado.
    • He cambiado mi macro a este: Sub repetir() Set a = Sheets(ActiveSheet.Name) uf = a.Range("C" & Rows.Count).End(xlUp).Row 'ultima fila con datos ActiveCell.Select ActiveCell.Offset(1, 0).Select   'Application.OnTime Now + TimeValue("00:00:10"), "repetir", , True End If End Sub   Lo que no se es como detenerlo al llegar a la ultima fila con datos de la columna C. Muchas gracias
    • Buenas tardes a todos. Tengo un problema que preciso de vuestra ayuda.  Tengo que controlar los gastos de la oficina que trabajo y he de repartir unos gastos a % según una OT y unos tipos de gastos. Envío un archivo adjunto. Lo que necesito es que lo que aparece en la columna en amarillo lo haga automáticamente, teniendo en cuenta los datos de la tabla a la derecha. Por ejemplo, el primer gasto tiene una cuota de 1477 euros y teniendo en cuenta que es un gasto de tipo Común y que la OT es la 12810234, le corresponde un gasto de 605,57 euros ya que según la tabla de la derecha su % a imputar es de un 41%. ¿alguien me puede ayudar con la formula? He de añadir muchas más líneas y más hojas con el resto de OT y en el futuro cambiar más datos, así que necesito automatizarlo con una formula Excel. Gracias. Control de gastos.xlsx
  • 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.