1.
Je wil in het betreffende J:O-bereik de tekst centreren. Daarvoor kun je dan best de cellen in dat bereik samenvoegen. De code voor samenvoegen en tekst centreren had je je heel eenvoudig door Excel kunnen laten vertellen door de macrorecorder aan te zetten en die handelingen handmatig uit te voeren. Wat geeft de recorder als resultaat als ik bv. handmatig J4:O4 samenvoeg en de tekst centreer? Dit:
Code:
.MergeCells = True
.HorizontalAlignment = xlCenter
Je hoeft vanzelfsprekend alleen de zaken over te nemen die je hebt gewijzigd, dat zijn: samenvoegen en tekst centreren. Voilà, dat is alles, want de tekst had je al geplaatst schreef je.
2.
Waarom werkt de blokkade niet naar wens?
Omdat de cellen die moeten worden geblokkeerd nog vrij moeten zijn nadat je de i-cel hebt ingevuld. Er zit dan niets anders op dan na elke handeling in de i-kolom (ongeacht welke) de hele kolom te doorlopen en in de gewenste rijen het bereik J:O te blokkeren. Daarvoor moet je het volgende doen:
- Verwijder onder Case "Ja NAK" en Case "Nieuwe Ronde" de tekst: .Locked = True
- Als er onder "Case Ja NAK" (onder "End With") nog ".Protect" staat, verwijder dat dan.
- Voeg bovenaan in de macro toe: Dim x as integer
- Voeg toe tussen End Select en .Protect:
Code:
For x = 2 To 33
If WorksheetFunction.Or(.Range("I" & x).Value = "Ja NAK", .Range("I" & x).Value = "Nieuwe Ronde") Then
Range("j" & x & ":o" & x).Locked = True
End If
Next x
- Er mag slechts 1 keer .Protect in de macro staan en dat is onderaan, juist boven "End With".
Nu zou de macro naar wens moeten werken.
Succes ermee.