Ga naar inhoud

Rob7

Lid
  • Items

    16
  • Registratiedatum

  • Laatst bezocht

Berichten die geplaatst zijn door Rob7

  1. 9 uren geleden, bakerman zei:

    Deze werkt perfect voor mij.

     

    PS: Code staat nu in een Standaard module ipv in ThisWorkbook.

    test vgl foto's ba.xlsm 249 kB · 1 download

    Ik heb je bestandje gedownload , maar er gebeurt niets , niet wanneer ik op de Test foto knop klik en ook niet wanneer ik via Ontwikkelaars > Programmacode , Macro's , Bakerman en Uitvoeren ga . Maar geen nood , in een van uw eerdere posts stond er een iets minder directe , zeer goede oplossing via vergelijken van Alternative Text . Laten we het dus hier bij laten . Nogmaals mijn dank voor uw talrijke reacties .

  2. 15 uren geleden, bakerman zei:
    
    Sub Bakerman()
    With ActiveSheet
       For Each oShape In .Shapes
            If (oShape.TopLeftCell.Address = "$A$1") * (oShape.Name = "Afbeelding 18") Then
                .Range("B1") = 1
            End If
       Next oShape
    End With
    End Sub

    Nu komt er een 1 in B1 als aan de voorwaarden die jij gesteld hebt voldaan wordt. Als dit niet is wat je bedoelt dan begrijp ik je vraag helaas niet. :(

    Er komt bij mij geen 1 in B1 . Er kwam in de vorige versie ook geen MsgBox met Succes . Dat was wat ik bedoelde toen ik zei " Ik heb uw instructies in bestandje gezet maar er gebeurt niet zo veel wanneer ik macro uitvoer . ".

    Ik heb een ( oudere ) versie van Excel , 2010 . Is dat mogelijk de oorzaak van het verschil ?

  3. Op 3/1/2020 om 16:32, bakerman zei:
    
    Sub TestShapes2()
    
    Dim oShape As Shape, img1 As String, img2 As String
    
    With ActiveSheet
       For Each oShape In .Shapes
            If oShape.TopLeftCell.Address = "$A$1" Then
                img1 = oShape.AlternativeText
            ElseIf oShape.TopLeftCell.Address = "$C$1" Then
                img2 = oShape.AlternativeText
            End If
       Next oShape
    End With
    
    If (img1 <> vbNullString) * (img2 <> vbNullString) Then
        MsgBox IIf(img1 = img2, "Gelijke", "Ongelijke") & " afbeeldingen"
    End If
    
    End Sub

    Speel hier maar eens mee.

     

    Test de code in het voorbeeldbestand, sleep daarna de afbeeldingen naar andere posities, wijzig de adressen in de code en draai de code opnieuw.

     

     

    test vgl foto's.xlsm 249 kB · 6 downloads

    Werkt inderdaad netjes . Bedankt .

    Ik heb nog een ( hopelijk laatste ) vraag :

    Ik vraag me af of wat ik tracht te bereiken niet nog sneller kan door niet twee foto's te vergelijken , maar wel de naam van de foto ( ik wist tot voor kort niet dat afbeeldingen een naam hadden ) te controleren . Ik dacht aan de volgende macro . Die geeft geen compileer- of run-time fouten , maar hij doet ook niet wat ik ( niet ) vraag .

     

    Sub Nummers_afbeeldingen_controleren()


    With ActiveSheet
       
       If [A1].Value = ("Afbeelding 18") Then
       .[B1].Value = 1
       End If
      
    End With
    End Sub

     

    Er is nog iets mis met de ("Afbeelding 18") . Omdat het geen Value is ?

     

  4. Op 3/1/2020 om 15:35, dotchiejack zei:

    Dit kan wel degelijk, de positie bepalen.

    Maar weet ik nu wat je wilt bereiken, neen dus, ik moet afhaken.

    Volgende code geeft de positie van je eerste foto weer. (het verkeersbord)

    Slepen maar.

    
    Sub dotch()
    Dim x
    Dim y
    Dim z
    With ActiveSheet.Shapes(1)
      x = .Name
      y = .Top
      z = .Left
    End With
    MsgBox x & vbCr & "top is " & y & vbCr & "links is " & z
    End Sub

     

    Je opmerkingen in deze en zeker vorige posts hebben mij in elk geval een heel eind vooruit geholpen . Waarvoor dank .

  5. Ik tracht een opdrachtenblad te maken waarbij diegene die de opdracht uitvoert foto's naar de juiste plaats moet slepen . Dat wilde ik controleren door de foto's d.m.v. alternatieve tekst te vergelijken met de juiste afbeelding . Bvb. sleep een foto naar E3 , rekenblad kijkt dan of alternatieve tekst van foto in E3 gelijk is aan alternatieve tekst van foto in G3 . De juiste foto's staan in verborgen kolommen . Als er ergens alternatieve tekst wordt weggeschreven heb ik graag dat dat ook gebeurt in verborgen kolommen omdat dat wat mooier oogt . Zoals ik al eerder aangaf werkt het wel wanneer ik knip en plak in plaats van sleep ( misschien is Excel dus wel een stickerboek  😊 ) .

    Ik beschrijf mijn project(je) niet gedetailleerd en volledig omdat ik de informatie graag stap per stap verwerk en begrijp . Indien ik in één keer een volledig uitgewerkte macro voor het geheel zou krijgen , zou ik zeker niet meer zien welke lijnen in de macro welke acties uitlokken .

    Zoals gezegd kan ik het probleem oplossen door de mensen die de opdracht uitvoeren gewoon te zeggen dat ze moeten knippen en plakken i.p.v. schuiven maar ik ben ondertussen zo onder de indruk van de mogelijkheden van Excel/vba dat ik dacht dat de optie positie bepalen na verschuiven wel zou bestaan . 

  6. Hallo ,

     

    Ik heb de indruk ( maar vrijwel geen Excel/vba ervaring ) dat vba na verschuiving van afbeelding nog altijd de initiële positie van die afbeelding ( positie waar afbeelding in werkblad werd geplakt ) in het werkblad gebruikt bij eigenschappen zoals bvb. TopLeftCell .

    Zit er misschien ergens een knop die je kan omzetten zodat vba de actuele positie van de afbeelding op het ogenblik dat de macro wordt uitgevoerd , na verschuiving van de afbeelding , gebruikt ?

     

     

  7. Het probleem is verdwenen nadat ik de afbeeldingen geknipt en terug op dezelfde plaats geplakt heb . Misschien bevestigt dat mijn vermoeden dat het verschuiven de oorzaak van het probleem was ( positie die vastgelegd wordt bij plakken , ongeacht latere verschuivingen ? ) .

    In elk geval bedankt voor de moeite . Zonder uw eerdere verbeteringen van mijn macro was ik nooit tot een goede oplossing gekomen .

  8. Hallo ,

    Met weinig kennis van zaken heb ik een korte macro geschreven waarvan ik verwachtte dat hij de alternatieve tekst van de afbeelding in A1 in de cel G1 zou wegschrijven .

    Uitvoeren lukt zonder problemen maar ik zie geen resultaat .

    Wat zie ik over het hoofd ?

     

    Sub TestShapes2()

    Dim oShape As Shape
    With ActiveSheet
       For Each oShape In .Shapes
       If oShape.TopLeftCell = ("A1") Then
       [G1].Value = oShape.AlternativeText
       End If
       Next oShape
    End With


    End Sub

    test vgl foto's2.xlsm

  9. Hallo ,

     

    Ik wil graag foto's vergelijken die in verschillende cellen van m'n Excel werkblad staan .

    Zoiets als :  als(A1=B1;1;0) waarbij in de cellen A1 en B1 al dan niet gelijke foto's staan . Deze eenvoudige formule lijkt echter niet te werken . Hoe los ik dit probleem op .

     

    Groeten ,

    Rob

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.