ACTUALIZACION DE DATOS.

10 envíos / 0 nuevos
Último envío
Jhony Hernandez
Imagen de Jhony Hernandez
Offline
última acción: Hace 6 años 4 meses
alta: 27/10/2017 - 16:14
Puntos: 110
ACTUALIZACION DE DATOS.

Muy buenas.

Estimados solicito de su ayuda ya he topado no se como hacer para que el formulario actualice los datos de la fila; les platico como esta la cosa estoy trabajando en dos hojas la primera se llama "MODULOS" en esta tengo un boton que despliega un formulario#1 de captura de datos los cuales al guardar almacena los datos en la hoda dos o "BASE DE DATOS" la cual esta protegida; ahora bien en la hoja "BASE DE DATOS", en cada fila he dejado una celda en la cual se invoca un formulario#2 el cual permite actualizar algunos registros pero no he logrado hacerlo por tal pido de su ayuda, no se como hacerlo. hice esto pero no me funsiono; por favor ayuda paso a paso aun soy muy pero muy novato en esto de VBA... De antemano Muchas Gracias.

Private Sub CommandButton1_Click()

If TextBox1 = "" Or TextBox10 = "" Or TextBox3 = "" Or TextBox11 = "" Or TextBox4 = "" Or TextBox5 = "" Or TextBox6 = "" Or TextBox7 = "" Or TextBox8 = "" Or TextBox9 = "" Then

MsgBox "FALTA POR LLENAR CUADROS DE INFROMACION", vbInformation, "ERROR DE CAPTURA DE DATOS"

Else

Dim rango As Long

Sheets("BASE DE DATOS").Unprotect "contraseña"

Worksheets("BASE DE DATOS").Activate

Range("A" & ActiveCell.Row).Select

ActiveCell.Value = TextBox1.Value

ActiveCell.Value = TextBox3.Value

ActiveCell.Value = TextBox4.Value

ActiveCell.Value = TextBox5.Value

ActiveCell.Value = TextBox6.Value

ActiveCell.Value = TextBox7.Value

ActiveCell.Value = TextBox8.Value

ActiveCell.Value = TextBox9.Value

ActiveCell.Value = TextBox10.Value

ActiveCell.Value = TextBox11.Value

MsgBox "REGISTRO EXITOSO", vbOKOnly, "REGISTRO"

ActiveWorkbook.Save

ActiveSheet.Protect "contraseña", True, True

UserForm2.TextBox1.Value = ""

UserForm2.TextBox3.Value = ""

UserForm2.TextBox4.Value = ""

UserForm2.TextBox5.Value = ""

UserForm2.TextBox6.Value = ""

UserForm2.TextBox7.Value = ""

UserForm2.TextBox8.Value = ""

UserForm2.TextBox9.Value = ""

UserForm2.TextBox10.Value = ""

UserForm2.TextBox11.Value = ""

MsgBox "DATOS INGRESADOS EN LA FILA " & fila

End If

End Sub

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
HolaLo que veo aquí es que

Hola

Lo que veo aquí es que estás poniendo todos los valores en la misma celda, que es la celda activa. Esa celda será la celda A5, si la celda activa anterior estaba en la fila 5, por ejemplo.

Personalmente prefiero utilizar CELLS(fila,columna), pues es más sencillo de manejar en VBA. Así, si quieres ir rellenando los datos en la misma fila solo tienes que ir aumentando el índice de la columna. Esta notación es muy útil para hacer bucles.

Si prefieres seguir con range, deberás cambiar de celda cada vez que añadas un valor (no cambias a la siguiente como cuando manualmente pulsas Intro). Esto se hará con la orden Activecell.offset(fila,columna)

Un saludo

Jhony Hernandez
Imagen de Jhony Hernandez
Offline
última acción: Hace 6 años 4 meses
alta: 27/10/2017 - 16:14
Puntos: 110
actualizacion de datos aun no logro hacerlo

ayuda lo he intentado y he ratreado en la web pero no he logrado encontrar nada ya logre que actualice los datos dentro de la misma fila pero resulta que cuando le pongo las columnas que son me da un error 1004 ayuda a poder solucionarlo y si no es mucho pedir si pueden guiarme paso a paso ya que soy novato en esto de VBA. por su ayuda muchas gracias

 

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Tal y como lo tienes, si al

Tal y como lo tienes, si al darle al botón tienes seleccionada cualquier celda que esté en una columna de la A a la K, te va a dar error siempre, pues estás mirando una celda 11 columnas más a la izquerda.

Mi pregunta es: ¿Por qué no fijas la celda inicial con algo así como CELLS(4,3).activate y a partir de ahí empiezas a hacer todo lo demás?

En este caso, CELLS(4,3) sería la celda C3

 

Un saludo

Jhony Hernandez
Imagen de Jhony Hernandez
Offline
última acción: Hace 6 años 4 meses
alta: 27/10/2017 - 16:14
Puntos: 110
ACTUALIZACION DATOS EN TODAS LAS FILAS ACTIVAS

Buen Día.

Gracias Amigo por la Ayuda, lo que sucede es que no fijo la celda dado que lo que necesito es que actualice en cada fila; -  en la celda "J" de cada celda fila con datos tengo un Userform2 que se activa al hacer doble click sobre la celda  este se abre y hala los datos a cada textbox;- Ahí es donde se actualizan los datos; para ello es lo que pido ayuda ya que no se como hacer para que al presionar el botón actualizar o guardar los vuelva a poner en las celdas que corresponden.

 

sera que me ayudas.

 

 

de antemano gracias.

AdjuntoTamaño
File actualizacion_de_datos.docx184.78 KB
Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Es difícil saberlo porque no

Es difícil saberlo porque no adjuntas el archivo, sino solo capturas.

Habría que ver cómo queda la cosa tras abrir el userform. No obstante, yo capturaría la fila al abrir el userform, y luego utilizaría el valor al hacer el volcado de datos. Lo que haces es correcto, pero como depende de la celda activa, variará en función de cuál sea. En caso de que no lo toques, estarías en la J, por lo que no le puedes restar 11 columnas, pues te sales de la hoja, y de ahí el error que te da. Yo haría, además, que no dependa de la celda activa (Activecell.offset)

Si adjuntas el archivo (elimina los datos que no desees compartir antes), quizás podemos ir más al grano.

 

Un saludo

Jhony Hernandez
Imagen de Jhony Hernandez
Offline
última acción: Hace 6 años 4 meses
alta: 27/10/2017 - 16:14
Puntos: 110
tu correo

me regalas tu correo el mio djjhonybeat@outlook.com

Jhony Hernandez
Imagen de Jhony Hernandez
Offline
última acción: Hace 6 años 4 meses
alta: 27/10/2017 - 16:14
Puntos: 110
ACTUALIZACION DATOS EN TODAS LAS FILAS ACTIVAS

Envio archivo para que me ayudes.

gracias por la ayuda.

 

 

AdjuntoTamaño
File control_de_documentos_-_copia.xlsm5.68 MB
Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 2 días
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Gracias.Mejor continuamos por

Gracias.

Mejor continuamos por aquí. Así lo que te regalo gratis, lo damos a la comunidad gratis. Las consultas privadas también las atiendo, pero las cobro ;)

 

En tu código, lo que ocurre es que estás utilizando mal la orden offset y no te estás colocando en la celda correcta en cada momento. Yo haría lo siguiente:

Sustituye el código este:

ActiveCell.Offset(0, -10).Select
ActiveCell.Offset(0, 1) = TextBox1.Value
ActiveCell.Offset(0, 2) = TextBox11.Value
ActiveCell.Offset(0, 3) = TextBox3.Value
ActiveCell.Offset(0, 4) = TextBox10.Value
ActiveCell.Offset(0, 5) = TextBox4.Value
ActiveCell.Offset(0, 6) = TextBox5.Value
ActiveCell.Offset(0, 7) = TextBox6.Value
ActiveCell.Offset(0, 8) = TextBox7.Value
ActiveCell.Offset(0, 9) = TextBox8.Value
ActiveCell.Offset(0, 10) = TextBox9.Value


Por este otro:

fila = Activecell.row
cells(fila,1) = TextBox1.value
cells(fila,2) = TextBox11.value
cells(fila,3) = TextBox3.value
.
.
.
cells(fila,10) = TextBox9.value



Por supuesto, rellena todas las líneas con el mismo patrón.

Espero que te sirva.


Un saludo

Jhony Hernandez
Imagen de Jhony Hernandez
Offline
última acción: Hace 6 años 4 meses
alta: 27/10/2017 - 16:14
Puntos: 110
ACTUALIZACION DE DATOS

Muchas gracias el codigo funsiono perfectamente... mil gracias.. 

cierro la consulta.

bendiciones