necesito un poco de ayuda con una macro de internet que adapte para trabajar con planillas en la empresa, es para dar formato al RUT que usamos en chile, la macro funciona bien, hace exactamente lo que necesito que haga, el problema se genera al limpiar la planilla para usarla nuevamente, cree un boton que ingresa los datos a una base de datos y borra el contenido de la planilla para empesar a usarla con datos nuevos... cuando uso el boton o cuando selecciono las celdas y le doy suprimir, o borrar contenido, me aparece el famoso error... "Se ha producido el error '13' en tiempo de ejecucion" y mas abajo en el cuadro pone: "no coinciden los tipos", al usar el depurador para ver cual es el problema me lleva al codigo de la macro que uso para el formato del RUT, y no quiero alterarla porque temo inutilizarla... les dejo el codigo y por si necesitan el libro xls...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim largo As Byte
largo = Len(Target)
'=9 cantidad de caracteres de la celda
'="2" se refiere a la segunda columna B, puedes modificar segun el numero de columna que necesites
'>3 se refiere a en que fila va a empezar a checar los datos , puedes modificar segun la fila donde inician tus datos
If largo = 9 And Target.Column = "4" And Target.Row = 8 Then
For x = 1 To 9
If x = 2 Or x = 5 Then
CADENA = CADENA + Mid$(Target, x, 1) + "."
ElseIf x = 9 Then
CADENA = CADENA + "-" + Mid$(Target, x, 1)
Else
CADENA = CADENA + Mid$(Target, x, 1)
End If
Next x
Target.Value = CADENA
End If
largo = Len(Target)
'=9 cantidad de caracteres de la celda
'="2" se refiere a la segunda columna B, puedes modificar segun el numero de columna que necesites
'>3 se refiere a en que fila va a empezar a checar los datos , puedes modificar segun la fila donde inician tus datos
If largo = 8 And Target.Column = "4" And Target.Row = 8 Then
For x = 1 To 8
If x = 1 Or x = 4 Then
CADENA = CADENA + Mid$(Target, x, 1) + "."
ElseIf x = 8 Then
CADENA = CADENA + "-" + Mid$(Target, x, 1)
Else
CADENA = CADENA + Mid$(Target, x, 1)
End If
Next x
Target.Value = CADENA
End If
largo = Len(Target)
'=9 cantidad de caracteres de la celda
'="2" se refiere a la segunda columna B, puedes modificar segun el numero de columna que necesites
'>3 se refiere a en que fila va a empezar a checar los datos , puedes modificar segun la fila donde inician tus datos
If largo = 9 And Target.Column = "4" And Target.Row = 18 Then
For x = 1 To 9
If x = 2 Or x = 5 Then
CADENA = CADENA + Mid$(Target, x, 1) + "."
ElseIf x = 9 Then
CADENA = CADENA + "-" + Mid$(Target, x, 1)
Else
CADENA = CADENA + Mid$(Target, x, 1)
End If
Next x
Target.Value = CADENA
End If
largo = Len(Target)
'=9 cantidad de caracteres de la celda
'="2" se refiere a la segunda columna B, puedes modificar segun el numero de columna que necesites
'>3 se refiere a en que fila va a empezar a checar los datos , puedes modificar segun la fila donde inician tus datos
If largo = 8 And Target.Column = "4" And Target.Row = 18 Then
For x = 1 To 8
If x = 1 Or x = 4 Then
CADENA = CADENA + Mid$(Target, x, 1) + "."
ElseIf x = 8 Then
CADENA = CADENA + "-" + Mid$(Target, x, 1)
Else
CADENA = CADENA + Mid$(Target, x, 1)
End If
Next x
Target.Value = CADENA
End If
End Sub
espero que me puedan ayudar, es lo unico que me falta para poder usarla en el diario de la oficina...
Hola Amigos:
necesito un poco de ayuda con una macro de internet que adapte para trabajar con planillas en la empresa, es para dar formato al RUT que usamos en chile, la macro funciona bien, hace exactamente lo que necesito que haga, el problema se genera al limpiar la planilla para usarla nuevamente, cree un boton que ingresa los datos a una base de datos y borra el contenido de la planilla para empesar a usarla con datos nuevos... cuando uso el boton o cuando selecciono las celdas y le doy suprimir, o borrar contenido, me aparece el famoso error... "Se ha producido el error '13' en tiempo de ejecucion" y mas abajo en el cuadro pone: "no coinciden los tipos", al usar el depurador para ver cual es el problema me lleva al codigo de la macro que uso para el formato del RUT, y no quiero alterarla porque temo inutilizarla... les dejo el codigo y por si necesitan el libro xls...
espero que me puedan ayudar, es lo unico que me falta para poder usarla en el diario de la oficina...
desde ya muchas gracias
hasta
luego
Base de Datos.xls