como optimizo este codigo

3 envíos / 0 nuevos
Último envío
stifftico97
Imagen de stifftico97
Offline
última acción: Hace 7 años 4 meses
alta: 30/11/2016 - 15:40
Puntos: 160
como optimizo este codigo

End If

If num_aparta = "1B" Then
Worksheets("no_tocar").Activate: Range("G" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range("k5") = mes_pagar_servicios: Range(" k7") = Cmb_mes_a_pagar
End If

If num_aparta = "1C" Then
Worksheets("no_tocar").Activate: Range("M" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range("q5") = mes_pagar_servicios: Range(" q7") = Cmb_mes_a_pagar
End If

If num_aparta = "1D" Then
Worksheets("no_tocar").Activate: Range("S" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range(" w5") = mes_pagar_servicios: Range("w7") = Cmb_mes_a_pagar
End If


If num_aparta = "2A" Then
Worksheets("no_tocar").Activate: Range("Y" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range(" ac5") = mes_pagar_servicios: Range("ac7") = Cmb_mes_a_pagar
End If

If num_aparta = "2B" Then
Worksheets("no_tocar").Activate: Range("AE" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range("ai 5") = mes_pagar_servicios: Range("ai7") = Cmb_mes_a_pagar
End If

If num_aparta = "2C" Then
Worksheets("no_tocar").Activate: Range("AK" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range(" ao5") = mes_pagar_servicios: Range(" ao7") = Cmb_mes_a_pagar
End If
If num_aparta = "2D" Then
Worksheets("no_tocar").Activate: Range("AQ" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range(" au5") = mes_pagar_servicios: Range(" au7") = Cmb_mes_a_pagar
End If

If num_aparta = "3A" Then
Worksheets("no_tocar").Activate: Range("AW" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range("ba 5") = mes_pagar_servicios: Range(" ba7") = Cmb_mes_a_pagar
End If

If num_aparta = "3B" Then
Worksheets("no_tocar").Activate: Range("BC" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range(" bg5") = mes_pagar_servicios: Range(" bg7") = Cmb_mes_a_pagar
End If
If num_aparta = "3C" Then
Worksheets("no_tocar").Activate: Range("BI" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range(" bm5") = mes_pagar_servicios: Range(" bm7") = Cmb_mes_a_pagar
End If

If num_aparta = "3D" Then
Worksheets("no_tocar").Activate: Range("BQ" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range(" bs5") = mes_pagar_servicios: Range(" bs7") = Cmb_mes_a_pagar
End If

If num_aparta = "4A" Then
Worksheets("no_tocar").Activate: Range("BU" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range(" by5") = mes_pagar_servicios: Range("by7") = Cmb_mes_a_pagar
End If

If num_aparta = "4B" Then
 Worksheets("no_tocar").Activate: Range("CA" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range(" ce5") = mes_pagar_servicios: Range(" ce7") = Cmb_mes_a_pagar
End If

If num_aparta = "4C" Then
Worksheets("no_tocar").Activate: Range("CG" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range("ck 5") = mes_pagar_servicios: Range("ck 7") = Cmb_mes_a_pagar
End If

If num_aparta = "4D" Then
Worksheets("no_tocar").Activate: Range("CM" & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)
Range(" cq5") = mes_pagar_servicios: Range(" cq7") = Cmb_mes_a_pagar
End If

Cron
Imagen de Cron
Offline
última acción: Hace 8 meses 4 semanas
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntos
alta: 23/06/2010 - 12:30
Puntos: 12735
Yo haría algo así:SELECT CASE

Yo haría algo así:

SELECT CASE num_aparta
CASE "1B"
columna = "G"
celda1 = "k5"
celda2 = "k7"
CASE "1C"
columna = "M"
celda1 = "q5"
celda2 = "q7"
.
.
.
.
CASE ELSE
MsgBox "Ha habido algún error"
EXIT SUB
END SELECT

Worksheets("no_tocar").Activate: Range(columna & Cells.Rows.Count).End(xlUp).Offset(1).Select: ActiveCell = mes_pagar_servicios.Value: ActiveCell.Offset(0, 1) = cuanto_paga_serv.Value * (1): ActiveCell.Offset(0, 2) = pago_serv.Value * (1): ActiveCell.Offset(0, 4) = (monto_alquiler) * (1)

 

Range(celda1) = mes_pagar_servicios: Range(celda2) = Cmb_mes_a_pagar

 

 

 

Un saludo

 

stifftico97
Imagen de stifftico97
Offline
última acción: Hace 7 años 4 meses
alta: 30/11/2016 - 15:40
Puntos: 160
gracias

Muchas gracias