Saltar al contenido

Activar hoja despues de cerrar formulario


Recommended Posts

publicado

Hola amig@s

E archivo adjunto lo utilizo para llenar facturas, crear un nuevo mes , registrar nuevo proveedor y modificarlo, todo funciona bien, el procedimiento que realizo es crear una nueva hoja e ingresar su nombre, el cual copia de la hoja "MES" el ejemplo, despues en la nueva hoja creada estan los botones - menu - nuevo proveedor - modificar proveedor, bueno en el boton que tengo problemas es en modificar proveedor, llama al formulario carga mediante combobox el nit y en los textbox lo que corresponde, solo que al modificar el proveedor, pareceria que la hoja se agrupara y no escribe en la celda de la nueva hoja creada, lo escribe en la hoja PROVEEDORES, y tengo que seleccionar proveedores y despues la nueva hoja y recien funciona, y eso es lo que quiero evitar tener que hacer doble trabajo, ayuda por favor.

Desde ya muchas gracias por su tiempo

Saludos

Jesús

Comprassoftware2014.rar

publicado

En tu código aparece la Hoja4 (Proveedores) como destino de los cambios, pues es la que queda activa tras haber cargado el Combobox1, por lo que es normal que los sitúe ahí.

A ver si eso te sirve como orientación.

Un saludo,

Tese

publicado

Gracias por responder, evidentemente en esa hoja esta los datos que ingreso y los modifico, y ahora como hago para que una vez que ya utilize lo que necesitaba de esa hoja los desactive?

saludos

jesús

publicado

Pero cuando pulsas "Modificar Proveedor" en, por ejemplo, la Hoja "Ene14", ¿qué es lo que realmente debe hacer? ¿Modificar los datos en la Hoja PROVEEDORES ó modificar los datos en esa Hoja?

Es que no me termina de quedar claro....jejeje....porque en las hojas de los meses tienes fórmulas en la columna "D" que toman los datos en "C" como referencia y se podrían modificar ó eliminar en el caso de incluir valores directamente.

Tú dirás.....

Un saludo,

Tese

publicado

Gracias por responder, bueno cuando estoy en la hoja Ene14 llamo al formulario modificar para modificar algun dato de la hoja4, porque en mi hoja Ene14 y en las proximas que creo los uso para relacionar el NIT con el nombre del Proveedor y su número de orden, y bueno si modifico tiene que modificar la hoja4 donde esta mi base de datos, pero al regresar a la hoja donde estoy trabajando que en este caso es Ene14 , pareceria que agrupa las hojas y lo que escribo en cualquier celda lo copia en la hoja4.

saludos

Jésús

publicado

Pues no sé, yo he probado a modificar algún dato con el formulario y al cerrarlo y escribir algo en Ene14 no veo que lo copie o haga algo en Proveedores.

¿Te sucede en alguna celda en concreto ó al escribir en alguna columna determinada?

Un saludo,

Tese

publicado

Huuu que raro, porque en mi excel 2010 digamos elijo un proveedor que lo carga ingresando el nit y visualiza en los otros textbox los datos del proveedor y su # de orden y modifico cualquier de los textbox y cuando cierro el formulario y quiero escribir en la ultima hoja, en cualquier celda, introduce lo que escribo por teclado pero no aparece en mi ultima hoja y si aparece en la hoja proveedores. :(

Saludos

Jesús

Archivado

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

  • 109 ¿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
      187
    • Comentarios
      97
    • Revisiones
      29

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    2    1

  • Crear macros Excel

  • Mensajes

    • Que tal nuevamente,  adjunto una solución alternativa: =MAX(A:.A)-BYROW(F4:.AK20,LAMBDA(r,BUSCAR(2,1/(r=0),F3:.AK3))) Cabe mencionar que esta solución requiere funciones nuevas como RECORTAR.RANGO. CONTADOR FINAL (Solucion).xlsb
    • Buenos días,  espero se encuentren bien de salud compañeros, Favor me podrían ayuda con lo siguientes como se podría hacer cuando tengo una tabla dinámica que  amedida que se aumente las columnas fechas con data un formula que se coloco al final busque o analice siempre la ultima fila y columna de la fecha. Coloco un ejemplo
    • @JSDJSD Excelentes, GRACIAS POR TU SOPORTE , me ayudo demasiado es exactamente lo que quería. 5 ESTRELLAS
    • 'Opción 1 Sub FiltrarSKUPorFecha(): Application.ScreenUpdating = False Dim ultimaFila As Long, fila As Long Dim diccionarioSKU As Object Dim listaEliminar As Object Dim fechaActual As String, fechaSiguiente As String Dim f As Variant With Sheets("Consolidado") ultimaFila = .Cells(.Rows.Count, 1).End(xlUp).Row ' Crear diccionarios para comparar SKU y almacenar filas a eliminar Set diccionarioSKU = CreateObject("Scripting.Dictionary") Set listaEliminar = CreateObject("Scripting.Dictionary") ' Recorrer desde la primera fila hasta la penúltima For fila = 2 To ultimaFila - 1 fechaActual = .Cells(fila, 1).Value fechaSiguiente = .Cells(fila + 1, 1).Value ' Solo comparar la fecha actual con la siguiente (inmediatamente superior) If fechaActual <> fechaSiguiente Then diccionarioSKU.RemoveAll ' Limpiar el diccionario antes de llenarlo ' Guardar los SKU de la fecha siguiente (solo de la siguiente) For f = fila + 1 To ultimaFila If .Cells(f, 1).Value <> fechaSiguiente Then Exit For diccionarioSKU(.Cells(f, 2).Value) = 1 Next f ' Revisar los SKU de la fecha actual y marcar los que deben eliminarse For f = fila To 2 Step -1 If .Cells(f, 1).Value <> fechaActual Then Exit For ' Solo eliminar si el SKU no está en la fecha siguiente If Not diccionarioSKU.exists(.Cells(f, 2).Value) Then listaEliminar(f) = 1 ' Marcar fila para eliminar después End If Next f ' Ya no es necesario seguir buscando después de comparar la primera y la siguiente fecha Exit For End If Next fila ' Eliminar las filas marcadas sin afectar el bucle principal For Each f In listaEliminar.keys .Rows(f).Delete Next End With MsgBox "Completado correctamente.", vbInformation End Sub 'Opción 2 Sub FiltrarSKUPorFecha1(): Application.ScreenUpdating = False Dim ultimaFila As Long, fila As Long Dim listaEliminar As Collection Dim fechaActual As String, fechaSiguiente As String Dim f As Variant, i As Long Dim SKUExiste As Boolean With Sheets("Consolidado") ultimaFila = .Cells(.Rows.Count, 1).End(xlUp).Row ' Inicializar la colección para marcar las filas a eliminar Set listaEliminar = New Collection ' Recorrer desde la primera fila hasta la penúltima For fila = 2 To ultimaFila - 1 fechaActual = .Cells(fila, 1).Value fechaSiguiente = .Cells(fila + 1, 1).Value ' Solo comparar la fecha actual con la siguiente (inmediatamente superior) If fechaActual <> fechaSiguiente Then ' Revisar los SKU de la fecha actual y marcar los que deben eliminarse For f = fila To 2 Step -1 If .Cells(f, 1).Value <> fechaActual Then Exit For ' Comprobar si el SKU está en la fecha siguiente SKUExiste = False For i = fila + 1 To ultimaFila If .Cells(i, 1).Value <> fechaSiguiente Then Exit For If .Cells(i, 2).Value = .Cells(f, 2).Value Then SKUExiste = True Exit For End If Next i ' Si el SKU no se encuentra en la fecha siguiente, marcar para eliminar If Not SKUExiste Then listaEliminar.Add f ' Marcar fila para eliminar después End If Next f ' Ya no es necesario seguir buscando después de comparar la primera y la siguiente fecha Exit For End If Next fila ' Eliminar las filas marcadas sin afectar el bucle principal For Each f In listaEliminar .Rows(f).Delete Next f End With MsgBox "Completado correctamente.", vbInformation End Sub   TABLA ELIMINAR.xlsm
  • 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.