Hallo VBA 'ers,
Ik werk met Excel 2007 en daarvan is het bekend, dat werken met Shapes de code zeer vertraagd. Je kunt dit (deels) ondervangen door termen als Select e.d. zo veel mogelijk te mijden.
Met mijn volgende code (met een groene en oranje pijl) gaat het zo inderdaad snel, maar de Increment-methode gaat uit van cel A1, terwijl ik mijn pijlen wil relateren aan een ActiveCell, bijv. Range("K20").
------------------------------------------------------------------------------------
----------------------------------------------------------------------------------
Vraag: Hoe doe ik dat zonder, of zo min mogelijk, het gebruik van Select of Activate?
Met vriendelijke groet van,
Franzeman
Ik werk met Excel 2007 en daarvan is het bekend, dat werken met Shapes de code zeer vertraagd. Je kunt dit (deels) ondervangen door termen als Select e.d. zo veel mogelijk te mijden.
Met mijn volgende code (met een groene en oranje pijl) gaat het zo inderdaad snel, maar de Increment-methode gaat uit van cel A1, terwijl ik mijn pijlen wil relateren aan een ActiveCell, bijv. Range("K20").
------------------------------------------------------------------------------------
Code:
Option Explicit
Sub voeg_pijlen_toe()
Dim sh1, sh2
Set sh1 = ActiveSheet.Shapes.AddShape(33, 5, 5, 20, 10) 'msoShapeRightArrow = 33
Set sh2 = ActiveSheet.Shapes.AddShape(33, 5, 5, 20, 10)
With sh1 'groene pijl
.Fill.ForeColor.RGB = RGB(146, 208, 80)
.Line.ForeColor.RGB = RGB(146, 208, 80)
.IncrementLeft 100
.IncrementTop 150
End With
With sh2 'oranje pijl
.Fill.ForeColor.RGB = RGB(255, 192, 0)
.Line.ForeColor.RGB = RGB(255, 192, 0)
.IncrementLeft 200
.IncrementTop 150
.IncrementRotation 180
End With
End Sub
Vraag: Hoe doe ik dat zonder, of zo min mogelijk, het gebruik van Select of Activate?
Met vriendelijke groet van,
Franzeman
Laatst bewerkt door een moderator: