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

Vormen (shapes) selecteren

Status
Niet open voor verdere reacties.

Tender4U2

Nieuwe gebruiker
Lid geworden
9 jun 2007
Berichten
2
Na enig zoekwerk heb ik de oplossing gevonden.
Aangezien in momenteel vanaf een externe PC werk (de mijne is in herstelling) kan ik niet meteen de oplossing tonen. Maar ik doe dit later alsnog.



Hallo iedereen,

Ik zet mijn eerste stappen in VBA. Via dit forum heb ik al heel wat bijgeleerd over macro's, want praktijkvoorbeelden maken vaak veel duidelijk :thumb:

Ik heb in (Excel 2007) een geografische kaart getekend van België met alle gemeenten. Elke gemeente is een zgn. SHAPE ofte "FREEFORM". Excel geeft je vorm een naam (bijv. Freeform 20) en die namen heb ik telkens aangepast naar de postcode, zoals "B-9120". Al deze freeforms (zo'n 650) staan op werkblad "KAART". In werkblad "CONTROLE" staat in kolom F (van F1 tot F...) een selectie van een aantal gemeentes en in cel B1 wordt geteld hoeveel gemeentes in kolom F staan.
Ik wil voor een selectie van gemeentes de opvulkleur veranderen. Met volgende code selecteer ik één voor één de geselecteerde gemeentes in kolom F vanaf cel F1 tot F(aantal in cel B1) :

Code:
  Dim Laatste As Integer
    Dim teller As Integer
    Dim Gemeente As String
    Sheets("KAART").Select
    Laatste = Range("B1").Value
    For teller = 1 To Laatste
    Gemeente = Range("J" & teller)
    ActiveSheet.Shapes(Gemeente).Select
... en hieronder komt de opmaak zoals ForeColor.SchemeColor = 12


Het gaat zeer snel maar ik denk dat het volgende gebeurt :
eerst worden de geselecteerde SHAPES bewerkt, maar een fractie van een seconde later is de héle kaart ingekleurd. Dus alle shapes worden bewerkt.

Op INTERNET kon ik geen bruikbare informatie vinden. Kan iemand mij helpen ?
Alvast heel erg bedankt.
 
Laatst bewerkt:
Ik denk dat een voorbeeldbestandje alles duidelijker gaat maken voor de helpers.
 
In je tekst heb je het over een kolom F in de marco staat een J.

Verder is in de macro Kaart je active sheet, dus wat lees je nu eigenlijk uit met Gemeente = Range("J" & teller)
Zou je niet moeten verwijzen/zoeken naar de F kolom op het controle blad?
N.b. bij Laatste = Range("B1").Value zit je ok al niet op het controle blad, maar mogelijk klopt dat wel, lastig te zeggen zonder voorbeeld.

Je mag me een E mail sturen (even op m'n naam klikken) als je geen bijlage kunt plaatsen (zal vermoedelijk te groot zijn, helpmij staat maar bestanden tot 100 kb toe).
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan