Simplificar Codigo

01/11/2006 - 19:54 por vm_tapia | Informe spam
Saludos a todos:

Necesito ayuda para simplificar este codigo, que tengo en un modulo "normal":

Sub AltaClienteNuevo()
Dim Contador As Integer
Dim Avance As Single
Filas = ThisWorkbook.Worksheets("Clientes").Range("$A:$A")
UltimaFila = Application.WorksheetFunction.CountA(Filas) + 2

With ThisWorkbook.Worksheets("Clientes")
.Cells(UltimaFila, 1).Value = Val(AltaClientes.Codigo.Value)
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 2).Value = AltaClientes.NombreCorto.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 3).Value = AltaClientes.RFC.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 4).Value = AltaClientes.Nombre1.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 5).Value = AltaClientes.Nombre2.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 6).Value = AltaClientes.Nombre3.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 7).Value = AltaClientes.Direccion.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 8).Value = AltaClientes.Colonia.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 9).Value = Val(AltaClientes.CP.Value)
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 10).Value = AltaClientes.DelMun.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 11).Value = AltaClientes.EntFed.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 12).Value = AltaClientes.DirFisica.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 13).Value = AltaClientes.ColFisica.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 14).Value = Val(AltaClientes.CPFisica.Value)
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 15).Value = AltaClientes.DelMunFisica.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 16).Value = AltaClientes.EntFedFisica.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
.Cells(UltimaFila, 17).Value = Val(AltaClientes.Credito.Value)
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra
Avance
End With

MsgBox " Información grabada.", vbInformation + vbOKOnly, " TICSA -
Proceso terminado"
ProgresoACL.Hide
Unload ProgresoACL
AltaClientes.Hide
Unload AltaClientes
Load Principal
Principal.Show
End Sub

Gracias por su ayuda.

Victor Manuel
 

Leer las respuestas

#1 Héctor Miguel
01/11/2006 - 23:53 | Informe spam
hola, Victor Manuel !

Necesito ayuda para simplificar este codigo, que tengo en un modulo "normal":



no se a que le llames [+/- exactamente]... 'simplificar el codigo' -?-
la siguiente propuesta [probablemente] actualizaria 'tan rapido'...
que no te daria tiempo para 'andar refrescando' la actualizacion de un 'progressbar'
[a menos que quieras que el codigo 'se detenga... por sus refrescos'] :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Sub AltaClienteNuevo()
With AltaClientes
ThisWorkbook.Worksheets("Clientes").Range("a" & Rows.Count).End(xlUp).Offset(1).Resize(, 17) Array(Val(.Codigo), .NombreCorto, .RFC, .Nombre1, .Nombre2, .Nombre3, .Direccion, .Colonia, Val(.CP), _
.DelMun, .EntFed, .DirFisica, .ColFisica, Val(.CPFisica), .DelMunFisica, .EntFedFisica, Val(.Credito))
End With
MsgBox " Informacion grabada.", vbInformation + vbOKOnly, " TICSA - Proceso terminado"
Unload AltaClientes
Principal.Show
End Sub

__ el codigo expuesto __
Sub AltaClienteNuevo()
Dim Contador As Integer
Dim Avance As Single
Filas = ThisWorkbook.Worksheets("Clientes").Range("$A:$A")
UltimaFila = Application.WorksheetFunction.CountA(Filas) + 2
With ThisWorkbook.Worksheets("Clientes")
.Cells(UltimaFila, 1).Value = Val(AltaClientes.Codigo.Value)
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 2).Value = AltaClientes.NombreCorto.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 3).Value = AltaClientes.RFC.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 4).Value = AltaClientes.Nombre1.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 5).Value = AltaClientes.Nombre2.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 6).Value = AltaClientes.Nombre3.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 7).Value = AltaClientes.Direccion.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 8).Value = AltaClientes.Colonia.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 9).Value = Val(AltaClientes.CP.Value)
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 10).Value = AltaClientes.DelMun.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 11).Value = AltaClientes.EntFed.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 12).Value = AltaClientes.DirFisica.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 13).Value = AltaClientes.ColFisica.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 14).Value = Val(AltaClientes.CPFisica.Value)
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 15).Value = AltaClientes.DelMunFisica.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 16).Value = AltaClientes.EntFedFisica.Value
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
.Cells(UltimaFila, 17).Value = Val(AltaClientes.Credito.Value)
Contador = Contador + 1: Avance = Contador / 17: ActualizarBarra Avance
End With
MsgBox " Informacion grabada.", vbInformation + vbOKOnly, " TICSA - Proceso terminado"
ProgresoACL.Hide
Unload ProgresoACL
AltaClientes.Hide
Unload AltaClientes
Load Principal
Principal.Show
End Sub

Preguntas similares