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 -
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.
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
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...?
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...?
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
É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
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)
¿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)
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)
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)
Hola,
Puedes usar el comando
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))
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))
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)
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)