Ik heb in de onderstaande code en in een andere module eigenlijk 3 x te zelfde code staan enkel de ene keer moet er waarde worden afgetrokken en de 2 andere keren opgeteld.
Zou is het zinvol om een aparte sub te schrijven met die code er in en dan het een variabel waarin ik mee geef - of +
doet dit iets aan de snelheid of is het netter code die meerdere x voorkomt in een sub onder te brengen en die dan telkens aan te roepen.
Heb dit geprobeerd om er een sub van de maken. Maar stuit op volgend probleem.
Weet niet hoe de veriable optellenAftrekken te declareren. als een string gaat dit niet want dan wordt + = "+" en de werkt de formules niet meer.
Zou is het zinvol om een aparte sub te schrijven met die code er in en dan het een variabel waarin ik mee geef - of +
doet dit iets aan de snelheid of is het netter code die meerdere x voorkomt in een sub onder te brengen en die dan telkens aan te roepen.
Heb dit geprobeerd om er een sub van de maken. Maar stuit op volgend probleem.
Weet niet hoe de veriable optellenAftrekken te declareren. als een string gaat dit niet want dan wordt + = "+" en de werkt de formules niet meer.
Code:
Select Case strTypeSelection
"Range"
For Each shp In ActiveSheet.Shapes
Case If Not Application.Intersect(shp.TopLeftCell, ActiveSheet.Range(RngVerlofBereik.Address)) Is Nothing Then
strVerlofcodevormTekst = shp.TextFrame.Characters.text
IntVerlofcodeRij = opzoekOpzoekenVerlofcodeRij(strVerlofcodevormTekst)
If IntVerlofcodeRij > 0 Then
If InStr(1, strVerlofcodevormTekst, "voormiddag", 1) Then
Worksheets("Datablad").Range("c" & IntVerlofcodeRij) = Worksheets("Datablad").Range("c" & IntVerlofcodeRij).Value - 0.5
shp.Delete 'verwijderen van het geselecteerde symbool
ElseIf InStr(1, strVerlofcodevormTekst, "namiddag", 1) Then
Worksheets("Datablad").Range("c" & IntVerlofcodeRij) = Worksheets("Datablad").Range("c" & IntVerlofcodeRij).Value - 0.5
shp.Delete 'verwijderen van het geselecteerde symbool
Else
Worksheets("Datablad").Range("c" & IntVerlofcodeRij) = Worksheets("Datablad").Range("c" & IntVerlofcodeRij).Value - 1
shp.Delete 'verwijderen van het geselecteerde symbool
End If
End If
End If
Next shp
Case "Rectangle"
'Uitlezen van de de tekst in de geselecterde vorm
strVerlofcodevormTekst = Selection.ShapeRange.TextFrame.Characters.text
'De set is nodig omdat door het opzoeken van de de code in het datablad de selectie weg valt
'De set behoud het adres van de de gekozen selectie zodat we die later kunnen verwijderen
' Instr(1, strVerlofcodevormTekst, "voormiddag", 1)
'instr zoek (van een bepaalde postie in de gevraagde tekst , de te zoeken tekst op en dan een code voor te
Set EnkelShapeVerwijderen = ActiveSheet.Shapes(Selection.Name)
'Opzoeken van het rijnr waarop de gevonden verlofcode staat op het werkblad Datablad
IntVerlofcodeRij = opzoekOpzoekenVerlofcodeRij(strVerlofcodevormTekst)
If IntVerlofcodeRij > 0 Then
If InStr(1, strVerlofcodevormTekst, "voormiddag", 1) Then
Worksheets("Datablad").Range("c" & IntVerlofcodeRij) = Worksheets("Datablad").Range("c" & IntVerlofcodeRij).Value - 0.5
EnkelShapeVerwijderen.Delete 'verwijderen van het geselecteerde symbool
ElseIf InStr(1, strVerlofcodevormTekst, "namiddag", 1) Then
Worksheets("Datablad").Range("c" & IntVerlofcodeRij) = Worksheets("Datablad").Range("c" & IntVerlofcodeRij).Value - 0.5
EnkelShapeVerwijderen.Delete 'verwijderen van het geselecteerde symbool
Else
Worksheets("Datablad").Range("c" & IntVerlofcodeRij) = Worksheets("Datablad").Range("c" & IntVerlofcodeRij).Value - 1
EnkelShapeVerwijderen.Delete
End If
End If
End Select