Macro de Excel VB - Dibujar rectángulos

Resuelto
ridertart Mensajes publicados 14 Estado Miembro -  
gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   -
Hola,

Me gustaría recibir un poco de ayuda para un proyecto en Excel ...

No sé cómo dibujar un Rectángulo con VB en Excel, pero quisiera dibujar varios rectángulos en Excel usando un número por rectángulo (altura del rectángulo), la anchura es fija. El dibujo debería realizarse cuando haga clic en un botón que he creado.

Los rectángulos deben estar uno debajo del otro.

También me gustaría poder hacer copiar y pegar este dibujo en Word, ¿pero se podrá modificar como si fuera un simple dibujo con líneas, rectángulos y texto en Word?

También quiero dibujar líneas y colocar texto al lado de cada rectángulo ...

¿Alguien puede ayudarme dándome la forma de hacerlo?

Private Sub CommandButton1_Click()

...
...
...
...Rectangle( ...)

End Sub


He buscado mucho documentación en la red y no encuentro nada bien explicado ... Disculpa, no soy un experto en VB :)

Gracias de antemano.
Configuración: Windows XP Internet Explorer 7.0 Office XP

7 respuestas

ridertart Mensajes publicados 14 Estado Miembro 17
 
Gracias, funciona para el rectángulo, logré dibujarlos como quería.
Estoy de acuerdo con x1 y x2, pero y1 y y2 en

ActiveSheet.Shapes.AddShape(msoShapeRectangle, x1, y1, x2, y2).Select

¿no serían más bien la longitud y la anchura del rectángulo en lugar de las coordenadas del punto en la esquina inferior derecha? En fin, eso es lo que me parece...

Por otro lado, ahora dos preguntas:

¿Cómo colorear mi rectángulo y aún más difícil, cómo poner un patrón de relleno para mi rectángulo?

Además, ¿cómo insertar una zona de texto en una hoja de Excel y escribir texto dentro...?

15
eriiic Mensajes publicados 24581 Fecha de registro   Estado Colaborador Última intervención   7 281
 
Hola,

Él tiene razón, es la mejor manera de aprender y progresar. Además te ahorra tener que mirar la documentación porque en tu macro grabada encontrarás los nombres de objetos que te interesan, las propiedades, los métodos. Y si se te escapa un término, pulsa F1 sobre él y tendrás todos los detalles, enlaces a la otra propiedad que buscas desde hace 2 horas, etc.

Así que no seas perezoso, pon en marcha el grabador de macros, dibuja un rectángulo, cambia su tamaño, su posición, su color, su borde (color, grosor, estilo), el texto, etc. Detén el grabador, mira el código y tendrás todas tus respuestas, incluso las que no habías planteado…

Eric
2
gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   4 744
 
hola

¿Cómo colorear mi rectángulo
cómo colocar un motivo de relleno para mi rectángulo ?
cómo insertar una zona de texto


ICI
--

El conocimiento es la única materia que crece cuando se comparte. (Sócrates)
1
ridertart Mensajes publicados 14 Estado Miembro 17
 
¿O sea?

Gracias por tu respuesta, muy constructiva.
0
gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   4 744
 
hola

Lo siento por haber insistido un poco, pero para hacer lo que tú querías, que era bastante específico, dudo que haya muchas personas que puedan “clicar directamente para escribir mi macro”.

Muchas veces, incluso cuando se conoce el código, hay que buscar por un error de tipeo, así que mejor dejar que VBA diga su rollo, y luego afinar.
--

El saber es la única materia que crece cuando se comparte. (Sócrates)
1
julplemet Mensajes publicados 325 Fecha de registro   Estado Miembro 79
 
Hola,

Puedes usar el comando

ActiveSheet.Shapes.AddShape(msoShapeRectangle, x1, y1, x2, y2).Select


donde x1,y1 son las coordenadas del punto superior izquierdo
y x2,y2 son las coordenadas del punto inferior derecho

(a sustituir por variables que contengan números reales (por ejemplo: ActiveSheet.Shapes.AddShape(msoShapeRectangle, 135.75, 148.5, 204.75, 165.75).Select))
0
gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   4 744
 
hola

Quieres hacer muchas cosas pero no sabes cómo hacer código.

Vas al menú herramientas / macro / nueva macro

Así grabas las manipulaciones que quieres hacer en VBA y a partir de ahí tendrás el punto de partida de tu código para colocar en tu botón.

Luego, si no entiendes algunos elementos, será más fácil que te ayudemos.
--

El saber es la única materia que crece cuando la compartes. (Sócrates)
0
phil_232 Mensajes publicados 286 Estado Miembro 33
 
¡Bravo! Por fin alguien lo dice.
0
ridertart Mensajes publicados 14 Estado Miembro 17
 
Gracias, es cierto que me has hecho avanzar en VB ...

Cuando hacía una macro, creaba un botón y hacía clic directo para escribir mi macro ... hago lo mismo en Delphi ... aunque fue tras una clase que tuve de un profesor hace un tiempo ...

Gracias a ustedes.
0