abonnement Unibet Coolblue
pi_31035365
Hallo,

ik ben aan het proberen om met een macro een deel van een kolom uit een ander werkblad to kopiëren. Ik weet dat dit kan met een simpele formule in een excel cell:

1=[Map2.xls]Blad1'!$D$6


zo voor elke cel dus, maar dan zou ik dit graag door middel van een macro willen doen. (ik moet namelijk eerst kunnen controleren of een aantal cellen juist zijn ingevuld in het andere werkblad). Ik nam aan dat er een soortgelijke simpele oplossing voor zou zijn, maar het enige wat ik kon vinden (wat het ook daadwerkelijk deed) was

1
2
3
4
5
Dim wb As Workbook
Set wb = Workbooks.Open("Map2.xls")

'en dan voor elke cel:
cells(x, y).value =  wb.Worksheets("Blad1").[d6].Value

Hier zitten twee problemen aan:
-ten eerste wordt het andere werkblad geopend (wat ik liever niet heb, heb het liever op de achtergrond net als met de eerste formule)
-ten tweede zou ik graag met integers willen werken (net als cells(x, y) ) in het andere werkblad omdat dat iets fijner werkt met for loopjes enzo

ik snap dat er een "vuile" methode is om een groep cellen op mijn houdige blad met {=[Map2.xls]Blad1'!$x$#"} te vullen en dan daarop mijn macro los te laten maar ik houd mijn werkblad liever clean (en snel, het is namelijk een flinke hoeveelheid)

weet er iemand een betere oplossing?
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')