Tuve algo parecido a lo que me expones pero la macro era extensivamente larga.
Si no se puede dentro de esta misma, me quedo así para no alargarla.
El caso es (repito) el peso que va a tomar el libro cuando tenga miles y miles de líneas con datos.
Ademas despues de que el libro tenga +- 500000 lineas ocupadas, la idea es dar inicio a nuevo libro, (igual claro está)
Tengo una macro que estoy tratando de construir con la ayuda de un amigo, a ver que tal me va, si resulta la colocare aqui y el nombre de la persona que me acesoro y ayudo para lograr mi cometido
Por: bigpetroman
Código:
Private Sub txt_RIF_CI_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Len(txt_RIF_CI) = 0 Then
If InStr(1, "69,74,86,101,106,118", KeyAscii) = 0 Then
MsgBox "Ingrese SOLO las letras E, V o J", vbOKOnly + vbInformation, Title:="CARACTER NULO"
KeyAscii = 0
End If
Exit Sub
End If
' solo números
If Not (KeyAscii >= 48 And KeyAscii <= 57) Then
KeyAscii = 0 '<-- Esta linea es para borrar la tecla presionada equivocadamente
MsgBox "Ingrese SOLO numeros, en el campo", vbOKOnly + vbInformation, Title:="CARACTER NULO"
End If
If Len(txt_RIF_CI) = 12 Then KeyAscii = 0: MsgBox "LLego al maximo de 12 caracteres": Exit Sub
End Sub
Private Sub txt_RIF_CI_Change()
If Len(txt_RIF_CI) = 1 Or Len(txt_RIF_CI) = 10 Then
'Para Mayusculas
txt_RIF_CI.Text = UCase(txt_RIF_CI.Text & "-")
End If
End Sub