Distancia entre Formas

30/10/2006 - 16:08 por Grupos de Noticias | Informe spam
Saludos.
En P7 tengo un Cuadrado(A) que mide 2 x 2 o sea que cubre (P7,P8,Q7 y Q8).
En AF7 tengo un Rectángulo(B) que mide 1 x 2 o sea que cubre(AF7 y AF8)
En AC15 tengo un Rectángulo(C) que mide 1 x 2 o sea que cubre(AC15 y AC16)
si quiero saber las distancias entre las diversas formas utilizo
CONTAR.BLANCO(celda donde termina una forma:celda donde empieza la otra
forma)
El procedimiento cuando son demasiadas formas, para conocer las distancias
entre unas y otras, se hace muy dispendioso.
Existe alguna manera mejor de automatizar el cálculo de dichas distancias?

Gracias.
Cordialmente
xxxprogramasxxxenxxxcomputadorxx@xxgmail.xxcom

Preguntas similare

Leer las respuestas

#1 KL
30/10/2006 - 16:43 | Informe spam
Hola,

Tal vez algo asi:

Sub Macro2()
Dim dist As Double, x As Double
With ActiveSheet
With .Shapes("Rectangle 1")
x = .Left + .Width
End With
dist = .Shapes("Rectangle 2").Left - x
End With
MsgBox dist
End Sub

Saludos,
KL


"Grupos de Noticias" wrote in message news:OrJ1SUD$
Saludos.
En P7 tengo un Cuadrado(A) que mide 2 x 2 o sea que cubre (P7,P8,Q7 y Q8).
En AF7 tengo un Rectángulo(B) que mide 1 x 2 o sea que cubre(AF7 y AF8)
En AC15 tengo un Rectángulo(C) que mide 1 x 2 o sea que cubre(AC15 y AC16)
si quiero saber las distancias entre las diversas formas utilizo
CONTAR.BLANCO(celda donde termina una forma:celda donde empieza la otra forma)
El procedimiento cuando son demasiadas formas, para conocer las distancias entre unas y otras, se hace muy dispendioso.
Existe alguna manera mejor de automatizar el cálculo de dichas distancias?

Gracias.
Cordialmente


Respuesta Responder a este mensaje
#2 Grupos de Noticias
30/10/2006 - 17:44 | Informe spam
Hola KL.
Me podrias explicar donde colocar la Macro?
Por favor paso a paso,que hace la Macro?

Gracias.
Cordialmente

"KL" escribio en el mensaje
news:uJltzoD$
Hola,

Tal vez algo asi:

Sub Macro2()
Dim dist As Double, x As Double
With ActiveSheet
With .Shapes("Rectangle 1")
x = .Left + .Width
End With
dist = .Shapes("Rectangle 2").Left - x
End With
MsgBox dist
End Sub

Saludos,
KL


"Grupos de Noticias" wrote in message
news:OrJ1SUD$
Saludos.
En P7 tengo un Cuadrado(A) que mide 2 x 2 o sea que cubre (P7,P8,Q7 y
Q8).
En AF7 tengo un Rectángulo(B) que mide 1 x 2 o sea que cubre(AF7 y AF8)
En AC15 tengo un Rectángulo(C) que mide 1 x 2 o sea que cubre(AC15 y
AC16)
si quiero saber las distancias entre las diversas formas utilizo
CONTAR.BLANCO(celda donde termina una forma:celda donde empieza la otra
forma)
El procedimiento cuando son demasiadas formas, para conocer las
distancias entre unas y otras, se hace muy dispendioso.
Existe alguna manera mejor de automatizar el cálculo de dichas
distancias?

Gracias.
Cordialmente






Respuesta Responder a este mensaje
#3 KL
30/10/2006 - 21:05 | Informe spam
Hola,

Me podrias explicar donde colocar la Macro?



En cualquier modulo - actua sobre la hoja activa

Por favor paso a paso,que hace la Macro?



declara las variables
Dim dist As Double, x As Double





usa la construccion With...End With para no repetir la referencia a la hoja
With ActiveSheet





anida otra construccion With...End With para no repetir la referencia al primer rectangulo
With .Shapes("Rectangle 1")





asigna a la variable x la suma de los valores de la distancia entre el lado izquierdo del primer rectangulo respecto al borde
izquierdo de la hoja y el ancho de dicho rectangulo
x = .Left + .Width
End With





asigna a la variable dist la resta del valor de la distancia entre el lado izquierdo del segundo rectangulo respecto al borde
izquierdo de la hoja y la variable x
dist = .Shapes("Rectangle 2").Left - x
End With





Saca un mensaje con la variable dist que es la distancia entre los dos rectangulos
MsgBox dist
End Sub





Este codigo no es una solucion completa sino una pista para que veas que propiedades del objeto Shape te podrian ayudar en tu tarea.

Saludos,
KL
Respuesta Responder a este mensaje
#4 Ivan
30/10/2006 - 21:50 | Informe spam
hola chicos

para añadir a la propuesta de KL, a mi me vinieron muy bien estos
codigos de la respuesta nº 7 (creo) de esta conversacion

http://tinyurl.com/yz397a

un saludo
Ivan
Respuesta Responder a este mensaje
#5 Grupos de Noticias
30/10/2006 - 22:47 | Informe spam
Hola KL.
Coloco la Macro en un Modulo creado,dibujo dos Rectangulos en la
Hoja1,guardo y no me muestra nada

Gracias.
Cordialmente

"KL" escribio en el mensaje
news:OoMEP7F$
Hola,

Me podrias explicar donde colocar la Macro?



En cualquier modulo - actua sobre la hoja activa

Por favor paso a paso,que hace la Macro?



declara las variables
Dim dist As Double, x As Double





usa la construccion With...End With para no repetir la referencia a la
hoja
With ActiveSheet





anida otra construccion With...End With para no repetir la referencia al
primer rectangulo
With .Shapes("Rectangle 1")





asigna a la variable x la suma de los valores de la distancia entre el
lado izquierdo del primer rectangulo respecto al borde izquierdo de la
hoja y el ancho de dicho rectangulo
x = .Left + .Width
End With





asigna a la variable dist la resta del valor de la distancia entre el
lado izquierdo del segundo rectangulo respecto al borde izquierdo de la
hoja y la variable x
dist = .Shapes("Rectangle 2").Left - x
End With





Saca un mensaje con la variable dist que es la distancia entre los dos
rectangulos
MsgBox dist
End Sub





Este codigo no es una solucion completa sino una pista para que veas que
propiedades del objeto Shape te podrian ayudar en tu tarea.

Saludos,
KL

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida