Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Vormen rechthoekige driehoek tekenen met vba.  (gelezen 3712 keer)

0 leden en 1 gast bekijken dit topic.

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Vormen rechthoekige driehoek tekenen met vba.
« Gepost op: 26 juni 2017, 19:18:52 »
Hi

Is het volgende mogelijk met vbA
Zie bij lage
Op het werkblad staan 4 rechthoeken deze zonder een pijl naar zijn gewoon getekend.
Die met een pijl naar is ook via vorm en 3hoek getekend maar heb ook een macro laten opnemen
en dit is de code ik zie
 ActiveSheet.Shapes.AddShape(msoShapeRightTriangle, 192, 120, 48.75, 15).Select
Ik vermoed dat 190,120,... de coördinaten zijn van de 3hoek.
Of zie ik dat totaal fout.
Graag zou ik de code zo aan passen dat ik het kan toepassen op gelijk welke andere cel door vb een knop of toest combinatie in te drukken

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Vormen rechthoekige driehoek tekenen met vba.
« Reactie #1 Gepost op: 26 juni 2017, 20:14:22 »
Halllllo, ik zie dat je de optie "Macro opnemen..." hebt ontdekt.  8)

Dan zal deze code van Bernie DE uitleg zijn voor jou vraag.

:) SoftAid :)             

Code: Sub ShowRoof()
Dim myC As Range
Set myC = Selection
On Error Resume Next
ActiveSheet.Shapes("Roof").Delete
    ActiveSheet.Shapes.AddShape(msoShapeRightTriangle, _
    Range("Base").Left, _
    Range("Base").Top - Range("Base").Width + Range("Base").Height, _
    Range("Base").Width, _
    Range("Base").Width).Select
    Selection.Name = "Roof"
    Selection.ShapeRange.Flip msoFlipHorizontal
    Selection.ShapeRange.ScaleHeight _
        Range("Rise").Value / Range("Run").Value, _
        msoFalse, msoScaleFromBottomRight
    myC.Select
End Sub
Finally, copy this code, right-click the sheet tab, select "View Code" and paste the code into the window that appears.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next
If Target.Name.Name = "Rise" Or Target.Name.Name = "Run" Then ShowRoof
End Sub

Then enter new values into the cells named Rise or Run, and the trangle will scale as appropriate.

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: Vormen rechthoekige driehoek tekenen met vba.
« Reactie #2 Gepost op: 27 juni 2017, 17:01:17 »
Waar de code showroom zetten.
Kan dit bij lijn andere macro's.

Daar er nog code achter zit
En denk te werken let gegevens validatie
Dat kun je werken met een select case
Zou ik de gegeven code kunnen aanpassen Dat ik op het werkblad een veld in kleur en dan via een parameter die kleur door geef. Daar ik dan maar éên
Macro moet maken voor verschillende kleuren

Als vast bedankt voor de code zal eer pas binnen 14 dagen eens oh"be" testen

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Vormen rechthoekige driehoek tekenen met vba.
« Reactie #3 Gepost op: 27 juni 2017, 22:39:03 »
Om een passende driehoek in een cel te plaatsen, is dit stukje code voldoende...
Sub PlaatsDriehoek()
   
    Set cl = ActiveCell
    ActiveSheet.Shapes.AddShape msoShapeRightTriangle, cl.Left, cl.Top, cl.Width, cl.Height

End Sub
______________________________

Groet, Leo

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: Vormen rechthoekige driehoek tekenen met vba.
« Reactie #4 Gepost op: 29 juni 2017, 07:06:18 »
Waarom dan de eerste code zo een lange code ?
Kan ik een cel een achtergrond kleur geven en dan deze gebruiken om de drie hoek mee op te vullen ?

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Vormen rechthoekige driehoek tekenen met vba.
« Reactie #5 Gepost op: 29 juni 2017, 08:46:20 »
Waarom dan de eerste code zo een lange code ?
Dat zou je aan de maker van die procedure moeten vragen. Sommige programmeurs gaan uitgebreid, andere doen dingen met zogenaamde "one liners".
Citaat
Kan ik een cel een achtergrond kleur geven en dan deze gebruiken om de drie hoek mee op te vullen ?
Waarom stel je je vragen toch zo cryptisch? Bedoel je hiermee dat je ergens in je worksheet een cel wilt definiëren waar je een kleur in zet en dat vanaf dat moment elke aangemaakte driehoek die vulkleur krijgt? Dat zou wel moeten kunnen ja.
______________________________

Groet, Leo

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: Vormen rechthoekige driehoek tekenen met vba.
« Reactie #6 Gepost op: 08 augustus 2017, 16:45:21 »
hallo redhead uw code is niet correct
dit moet het zijn
Set cl = ActiveCell
    ActiveSheet.Shapes.AddShape(msoShapeRightTriangle, cl.Left, cl.Top, cl.Width, cl.Height).Select
maar hoe komt het dat de punten van de 3 hoek iets groter zijn dan de cel

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Vormen rechthoekige driehoek tekenen met vba.
« Reactie #7 Gepost op: 08 augustus 2017, 19:23:42 »
Hallo glda19,

redhead uw code is niet correct
dit moet het zijn
Set cl = ActiveCell
    ActiveSheet.Shapes.AddShape(msoShapeRightTriangle, cl.Left, cl.Top, cl.Width, cl.Height).Select
maar hoe komt het dat de punten van de 3 hoek iets groter zijn dan de cel

Meestal beginnen we een reactie met: "Hallo RedHead,
Bedankt voor je code" bla bla bla...."

Verder vind ik je wel heel arrogant om te stellen dat RedHead's code niet "correct" zou zijn.
Deze code werkt perfect. Ze doet precies hetzelfde als de code die jij plaatst, enkel selecteert de jouwe ook nog de actieve cel (iets wat niet nodig is)....

Waarom de 3 punten van de driehoek buiten de cel schijnen te vallen: dit is eigen aan "vormen".
Je moet enkel (handmatig of via de macro) de LIJNDIKTE minimaal te zetten (of te verwijderen = none)  en je driehoek val volledig in de cel.

Je kennis van VBA neemt er niet mee toe, evenmin je manieren.

Met vriendelijke groeten,

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: Vormen rechthoekige driehoek tekenen met vba.
« Reactie #8 Gepost op: 08 augustus 2017, 19:35:11 »
softaid hi
coppier anders redhaed zijn code eens en zie wat je krijgt geeft rood aan in excel 2016
heb zijn code overgenomen en werkte niet
moesten ronde haken bij komen en een select
 eerdere post aangepast

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Vormen rechthoekige driehoek tekenen met vba.
« Reactie #9 Gepost op: 08 augustus 2017, 19:39:01 »
Hallo glda19,

Meestal beginnen we een reactie met: "Hallo SoftAid....."

Deze code van RedHead werkt perfect. Haakjes zijn enkel nodig als je ".Select" bijvoegt.


Met vriendelijke groeten,

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline glda19

  • Volledig lid
  • **
  • Berichten: 127
Re: Vormen rechthoekige driehoek tekenen met vba.
« Reactie #10 Gepost op: 08 augustus 2017, 19:42:41 »
softaid
klopt zal een fout geweest zijn bij het kopiëren en plakken
sorry

 


www.combell.com