Variabele afmetingen van een rechthoek

Anoniem
2014-07-02T12:05:16+00:00

Ik wil binnen Excel de afmetingen van een getekende rechthoek van bijv. 5 bij 10 cm

koppelen aan de waarde van 2 te benoemen cellen.

Als ik de waarden in die cellen wijzig, moet de rechthoek derhalve ook van afmetingen veranderen.

Wie weet hiervoor de oplossing ??

Met dank voor iedere suggestie ..

M.vr.gr.

Ko

Microsoft 365 en Office | Excel | Voor thuisgebruik | Windows

Vergrendelde vraag. Deze vraag is gemigreerd vanuit de Microsoft Ondersteuning-community. U kunt met een stem aangeven of de inhoud nuttig is, maar u kunt geen opmerkingen of antwoorden toevoegen of de vraag volgen.

0 opmerkingen Geen opmerkingen
Antwoord geaccepteerd door vraagauteur
Anoniem
2014-07-16T13:55:00+00:00

Ko,

Ja die regel zou geen probleem mogen zijn.

Je kunt eens proberen of dit werkt:

Private Sub Worksheet_Change(ByVal Target As Range)

    With Me.Shapes("Rectangle 1")

        .Width = Application.CentimetersToPoints(4)

        .Height = Application.CentimetersToPoints(6)

    End With

End Sub

Vertoont de code (nadat je deze in de module van het werkblad hebt gezet) nog rode tekst?

Zo niet dan:

Wijzig de afmetingen van de rechthoek.

Wijzig iets in het werkblad.

Bij elke wijziging in het werkblad zal de rechthoek de afmeting 4×6 krijgen.

Werkt dit wel.

Jan

Was dit antwoord nuttig?

0 opmerkingen Geen opmerkingen

26 extra antwoorden

Sorteren op: Oudste
  1. Anoniem
    2014-07-14T15:09:28+00:00

    Ko,

    Ja, de code werkt bij mij in Excel 2010 zonder problemen en zou dat ook in Excel 2007 moeten doen.

    Kun je de precieze foutmelding geven en wanneer deze optreedt?

    De code moet wel geplaatst zijn in de module van het werkblad:

    Private Sub Worksheet_Change(ByVal Target As Range)

         If Not Intersect(Target, Me.Range("A1:A2")) Is Nothing Then

             With Me.Shapes("Rectangle 1")

                 .Width = Application.CentimetersToPoints(Me.Range("A1"))

                 .Height = Application.CentimetersToPoints(Me.Range("A2"))

             End With

         End If

     End Sub

    Nogmaals de code, maar dan met de naam Rectangle 1 voor de rechthoek (de standaard naam voor de eerst geplaatste vorm (in dit geval rechthoek) in je werkbla)d.

    Jan

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  2. Anoniem
    2014-07-15T09:27:52+00:00

    Beste Jan,

    het wil maar niet lukken.

    Als ik de code in de module van het werkblad ingeef ga ik terug naar het werkblad.

    Als ik op enige cel (in of buiten de range A1:A2) een getal ingeef, komt het codeblad tevoorschijn

    met de mededeling Compileerfout, Syntaxisfout. Zie bijlage

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  3. Anoniem
    2014-07-15T09:43:05+00:00

    Ko,

    Zoals je het laat zien zou het wel moeten werken.

    Het zou kunnen zijn dat er iets met de verwijzingen niet in orde is.

    Wil je onder VBA in het menu Extra eens klikken op de knop Verwijzingen.

    Dan verschijnt het dialoogvenster Verwijzingen.

    Staat daar bij een van de bibliotheken iets als ONTBREEKT (IS MISSING)?

    Jan

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen
  4. Anoniem
    2014-07-15T10:19:14+00:00

    Jan,

    "ontbreekt" of "is missing" komt nergens voor in de bibliotheken onder verwijzingen.

    Het valt mij wel op dat uitsluitend de eerste 4 bibliotheken staan aangevinkt:

    *Visual Basic For Applications

    * Microsoft Excel 12.0 Object Library

    *OLE Automation

    *Microsoft Office 12.0 Object Library

    Bibliotheken als o.m. Eurotool, VBA-project en Niet opgeslagen VBA-project staan

    niet aangevinkt ...

    Groet,

    Ko

    Was dit antwoord nuttig?

    0 opmerkingen Geen opmerkingen