• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

probleem controle van rechthoek of 3 hoek in het bereik

Status
Niet open voor verdere reacties.

glda19

Gebruiker
Lid geworden
14 jan 2008
Berichten
916
Hi
Jullie weten dat ik al lang met mijn kalender bezig ben.
Wel nu was ik die aan het finaal aan het testen en kom iets raar tegen.

Als ik probeer een verlofcode te leggen op 14 juli geen probleem maar op 15 juli is er een probleem hij denkt dat er al een verlofcode staat.
ok al ziet de kalender eruit zoals op de foto.

Heb een vb gemaakt waarin juist de controle van het bereik staat. die via de knop het op het werkblad.
Bij de 14de julie krijg je het zelfde als op de foto wat zo moet zijn en zou op 15 ook zo moeten zijn

ik weet waar het fout gaat als ik de 15 de juli selecteer dan denkt hij dat er een intersectie is met de opmerking hoe kan ik dit verhelpen ?

Het rare is dat hij dit niet doet als ik de 21 ste juli selecteer waar de opmerking instaat.

Waarom zegt hij dat er op de 15 jullie wel een intersection is met 21 jullie met de commentaar in de cel? En het niet zo is op 14 en 21 jullie.

geen Rechthoek of 3 hoek in het bereik.jpg

Code:
Function IsRechthoekInMijnBereik(RngVerlofBereik As Range)
 
Dim shp As Shape
Dim wrkrng As Range
Set wrkrng = RngVerlofBereik
wrkrng = RngVerlofBereik.SpecialCells(xlCellTypeComments)
MsgBox ("Aaantal opmerkingen in bereik" & " " & wrkrng.Count)
For Each shp In ActiveSheet.Shapes   'Controle voor elke figuur in het bereik
    If shp.AutoShapeType = msoShapeRectangle Then
    
        'If Not Intersect(RngVerlofBereik, shp.TopLeftCell) Is Nothing Then
        If Not Intersect(RngVerlofBereik, shp.TopLeftCell) Is Nothing Then
            IsRechthoekInMijnBereik = True '= return code
            Exit Function
        End If
    End If
Next shp

IsRechthoekInMijnBereik = False
End Function
 

Bijlagen

  • Controle Rechthoek of driehoek in het bereik.xlsm
    54,5 KB · Weergaven: 50
Laatst bewerkt:
en de vraag is? En graag een bestandje......
 
bestandje staat in #p

En ook de vraag.

Waarom ziet hij een intersection met 21 juli en 15 juli . En niet op 14 juli en 21 en op 21 zelf
Heeft te maken met de opmerking die bij de datum 21 juli staat.

Zie wat ik kan op 14 22 maar kan geen afwezigheidscode leggen op 15 hij denk dat er al een afwezigheidscode staat. Wat zoals je ziet niet waar is.
heeft te maken met dit denk ik If Not Intersect(RngVerlofBereik, shp.TopLeftCell) Is Nothing Then
Met shp.TopLeftCell

wat kan ik wel doen.jpg
 
Laatst bewerkt:
Ik denk dat de maand 'jullie' nog uitgevonden moet worden.
 
Laatst bewerkt:
sorry voor de schrijfwijze. Zijn hier nog al 2 hectische dagen geweest
En heb het probleem als volgt op gelost Of is er een beter oplossing (nettere)

Code:
Function IsRechthoekInMijnBereik(RngVerlofBereik As Range)
  'Geeft een true weer als er zich in het bereik een rechthoek is gevonden

Dim shp As Shape
For Each shp In ActiveSheet.Shapes    'Controle voor elke figuur in het bereik

'Deze if is nodig omdat hij anders denk dat er al een afwezigheidscode in de cel staat.
'Dit komt omdat er een intersectie gemaakt word met de opmerking als je de de cel kiest juist rechts boven de cel met de opmerking
If shp.Type = msoComment Then
   IsRechthoekInMijnBereik = False '= return code
    Exit Function


ElseIf shp.AutoShapeType = msoShapeRectangle Then
        If Not Intersect(RngVerlofBereik, shp.TopLeftCell) Is Nothing Then
       ' If Not Intersect(RngVerlofBereik, shp.ToprighttCell) Is Nothing Then
            IsRechthoekInMijnBereik = True '= return code
            Exit Function
        End If
    End If
Next shp
IsRechthoekInMijnBereik = False
End Function
 
Laatst bewerkt:
Waarom zoek je comments d.m.v. shapes te zoeken?
Helaas heb ik ook nog nooit een driehoek als comment gezien.
 
@hsv
Test eens het bijgevoegd bestand
Als ik bv 15 juli selecteren en dan op de knop druk dan krijg ik de melding dat er een rechthoek in het bereik is.
Weet niet van waar die komt.
Vermoed dat het komt van de opmerking die staat op 21 juli
Krijg dit enkel op 15 juli niet op 14 20 21 22 juli
Wie weet hoe het komt dat er op 15 juli wel een rechthoek aanwezig is
 

Bijlagen

  • Controle Rechthoek of driehoek in het bereik.xlsm
    82,3 KB · Weergaven: 39
Laatst bewerkt:
Ja, ja het is wel duidelijk nu.
Geen tests meer als je geen antwoord geeft op vragen.
 
Staat er al een commentaar in de huidige cel had je vraag moeten zijn, niet of er een vormpje in je cel staat ...
Dat is 1 regel, geen loop door alle shapes.
Code:
code verwijderd na lezen opmerking HSV #8

Waarom zoek je comments d.m.v. shapes te zoeken?
Heel simpel uitgelegd, ga in "21 juli" staan en dan zie je je commentaar "Nationale Feestdag" in een rechthoek verschijnen en ... de linkerbovenhoek staat in de cel van "15 juli".
Doe dit voor al je commentaren, je ziet dat die linkerbovenhoek van de rechthoek met je commentaar telkens in de cel rechtsboven je "commentaarcel" staat.
Nu kan je pro-actief je macro aanpassen door te zoeken naar shapes in de cel met offset(-1,1) maar weet dat dit geen waterdichte oplossing (bv. cellen in de 1e rij of de laatste kolom) kan geven.
Je methode is in je huis te "zoeken naar je hond" door alle dieren in je huis af te lopen en dan telkens te kijken hoeveel poten dat dier heeft, oei 2 dat is jezelf of 1 van je huisgenoten of de kanarie, oei 6 dat zijn alle insecten, oei 8 dan zijn het spinnen etc en eindelijk 4 poten, maar dan kan het ook nog de kat, de hamster, ongedierte als muizen en ratten zijn ... . Dat alles terwijl de hond vlak voor je neus staat.

Helaas heb ik ook nog nooit een driehoek als comment gezien.
Code:
@HSV, als grapje bedoeld,
 Sub MaakDriehoekenVanRechthoeken()
   For Each shp In ActiveSheet.Shapes
      If shp.AutoShapeType = 1 Then shp.AutoShapeType = 7
   Next
    Application.DisplayCommentIndicator = xlCommentAndIndicator
End Sub
 
Laatst bewerkt:
Heel simpel uitgelegd, ga in "21 juli" staan en dan zie je je commentaar "Nationale Feestdag" in een rechthoek verschijnen en ... de linkerbovenhoek staat in de cel van "15 juli".
it's rather simple, the top left corner of the commented rectangle is normally (not always, e.g. merged cells, 1st row, last column, ...) in the top right cell of your current cell.
Pareil pour les francophones, das gleiche gilt für deutschsprachige.

misschien
Geen tests meer als je geen antwoord geeft op vragen.
 

Bijlagen

  • Aantekening 2020-10-22 124701.png
    Aantekening 2020-10-22 124701.png
    56,8 KB · Weergaven: 65
Laatst bewerkt:
maar waarom zeg het programma dat dat er een rechthoek ligt op 15 juli
 
Waarom staat de linker bovenhoek van de commentaar in een ander cel?
Hoe het in de cel 21 juli krijgen
 
Doordat de linkerbovenhoek van de comment in die cel valt.
Versleep het maar eens en selecteer die cel.

Normaal doe je dat zo om te kijken of er een commentaar in staat.

Code:
Sub cmdVerlofcodeinbereik_Click()
 If Not ActiveCell.Comment Is Nothing Then MsgBox "hierin staat een commentaar."
end sub
 
Laatst bewerkt:
@hsv
Snap even de if functie niet.
En hoe nu de functie rechthoek aanpassen.
Jullie lachen met de code 3hoek. In dit geval is dit logisch omdat jullie het volledige programma niet hebben.
 
lachen ..., :confused: als je via Parijs rond naar huis wilt gaan, mij geen probleem, zo spectaculair zal het volledige programma wel niet zijn.
zo werk je in een paar regels die commentaar af
Code:
Sub MijnCommentaarCellen()
   On Error Resume Next
   Set c = Sheets("afwzeigheid sjabloon").Range("B3:R45").SpecialCells(xlCellTypeComments)
   If Not c Is Nothing Then
      For Each c0 In c.Cells
         s = s & vbLf & c0.Address & vbTab & c0.Value & vbTab & c0.Comment.Text
      Next
      MsgBox Mid(s, 2)
   End If
End Sub
 
waarom zo een achterlijke opmerking HSV
Waarom helpen jullie niet meer
 
cow 18 is niet dat dat ik zoek maar moet een vorm kunnen leggen op 15 juli. Die dagen staan op een ander blad
 
waarom zo een achterlijke opmerking HSV
Waarom helpen jullie niet meer

Ik had een "Fijn Harry, bedankt" verwacht.
Ga je nu alweer in de aanval in plaats van de codes te testen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan