Saltar al contenido

Qué es más eficiente Target.Offset o Range


Recommended Posts

publicado

Buenas noches amigos, tengo una pregunta, ¿cuál de los dos métodos es más eficiente y porqué?,

este, utilizando Target.Offset:

If Not Intersect(Target, Range("K4")) Is Nothing Then
Target.Offset(3, -2) = ""
Target.Offset(3, -7) = ""
Target.Offset(3, -7).Select
End If
[/CODE]

o este, utilizando Range:

[CODE]If Not Intersect(Target, Range("K4")) Is Nothing Then
Range("I7") = ""
Range("D7") = ""
Range("D7").Select
End If
[/CODE]

Saludos.

publicado

Buenas,

A mi entender, si conoces con anterioridad los rangos con los que vas a trabajar, el "Range" es más cómodo de utilizar, pero sin embargo, si estás trabajando con una columna o fila como referencia más que con una celda fija, quizás el "Target.offset" te permita más flexibilidad. Si en tu primer ejemplo, en vez de "If Not Intersect(Target, Range("K4"))" tuvieras "If Not Intersect(Target, Columns("K:K"))" el Offset te ofrece la oportunidad de una referencia relativa válida para toda la columna.

Un saludo,

Tese

publicado

Gracias, y con respecto al Cells(,) más de lo mismo verdad?,

si es así me decanto por Range ya que trabajo con celdas fijas y es más sencillo.

Otra duda que se me plantea, es mejor utilizar esto:

R[/FONT]

[LEFT][COLOR=#333333][FONT=Verdana]ange("D7") = "" o Range("D7").ClearContents[/FONT][/COLOR][/LEFT]

[/CODE]

[font=Verdana]

[/font]

Saludos.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.