• 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.

Doorzichtig maken

Status
Niet open voor verdere reacties.

Schelledraad

Gebruiker
Lid geworden
11 feb 2014
Berichten
115
Ik heb mijn handtekening ingescanned. Vervolgens heb ik deze geopend in Paint. Vandaar uit de handtekening geselecteerd een gekopieerd naar Excel.
Dan krijg je een plaatje met een witte achtergrond. Nu kan je dat plaatje handmatig doorzichtig instellen met OPMAAK/KLEUR en dan DOORZICHTIG instellen.
Maar dat wil ik nu met een VBA code doen. In Excel 2003 kon je nog een macro opnemen en de handeling dan uitvoeren, maar die vlieger gaat niet meer op.
 
En waarom gaat de vlieger niet meer op? Geen wind? Zit je binnen? Of heb je een vraag over excel? Zo ja, wat is de vraag?
 
Nou. Als je een vorm invoegt (vierkantje bv) en je neemt een macro op waarmee je het doorzichtig instelt dan krijg je dit

ActiveSheet.Shapes.Range(Array("Rectangle 1")).Select
Selection.ShapeRange.Fill.Visible = msoFalse

En dat werkt prima

Maar als je dat nou hetzelfde doet met een plaatje uit paint krijg je alleen

ActiveSheet.Shapes.Range(Array("Picture 2")).Select

En worden de rest van de handelingen die je uitvoert niet opgenomen in de macro.
 
En nu moet je helemaal zelf gaan verzinnen hoe de code veder moet?

Mogelijk dat het zoiets wordt.
Code:
ActiveSheet.Shapes.Range(Array("Picture 2")).ShapeRange.Fill.Visible = false

Je mag ook even een excel voorbeeldje plaatsen.
 
Code:
 ActiveSheet.Shapes(2).Visible = False
 
Even het getal achter de punt aanpassen naar behoefte.
Code:
ActiveSheet.Shapes(2).PictureFormat.Brightness = 0.8
 
Ik heb hem zelf al gevonden !

ActiveSheet.Shapes("Picture 2").Select
Selection.ShapeRange.PictureFormat.TransparentBackground = msoTrue
Selection.ShapeRange.PictureFormat.TransparencyColor = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Visible = msoFalse

Op mijn oude laptop zat nog Excel 2003 en daar heb ik de macro opgenomen en krijg je dit resultaat. Toch vreemd dat dat vanaf Excel 2007 niet meer gaat.



Bedankt iig !
 
Ingekort:
Code:
With ActiveSheet.Shapes(2)
 .PictureFormat.TransparencyColor = RGB(255, 255, 255)
 .fill.Visible = msoFalse
End With

Anders is dit volgens mij al voldoende.
Code:
ActiveSheet.Shapes(2).PictureFormat.TransparencyColor = RGB(255, 255, 255)
 
Laatst bewerkt:
Nee het hoefde ook niet onzichtbaar, maar doorzichtig.


Ik blijf het gewoon vreemd vinden dat je het in Excel 2003 nog wel met een macro kon opnemen, maar in de hogere versies niet meer.
 
Doorzichtig had ik begrepen.

Met de opgenomen code wordt het object altijd geselecteerd waar ik geen liefhebber ben.
Vandaar de ingekorte versie.
Druk eens wat vaker F1 in Vba.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan