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

Value's onthouden voor ander worksheet

  • Onderwerp starter Onderwerp starter MJONK
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

MJONK

Gebruiker
Lid geworden
14 dec 2008
Berichten
238
Goedemorgen allemaal,

Ik heb een simpele vraag:

Ik heb in mijn persoonlijke macrobestandje een macro staan die werkt op een sheet dat ik steeds binnen gestuurd krijg.

Vanuit het macro moeten gegevens in een ander bestand geplaatst worden.

Nu wil ik dus enkele cellen kopiëren en deze in het volgende bestand plaatsen.

Hoe kan ik de inhoud van deze paar cellen opslaan en dan gebruiken in het volgende bestand.

Alvast bedankt.
 
MJONK,

Nu wil ik dus enkele cellen kopiëren en deze in het volgende bestand plaatsen.
Hoe kan ik de inhoud van deze paar cellen opslaan en dan gebruiken in het volgende bestand.
Blijven deze dan niet op het klembord staan?
 
Tja, er zijn meerdere methodes.
Dat hangt een beetje vanaf of er steeds naar dezelfde cellen gekeken moet worden.
Dan zou je namelijk kunnen verwijzen in het werkblad.
Of een zoekfunctie toepassen.

Het hangt er ook vanaf waar de code declareert (werkblad of het werkboek).

Kortom veel mogelijkheden.
Een voorbeeldbestand zonder gevoelige informatie zal veel duidelijk kunnen maken.

Met vriendelijke groet,


Roncancio
 
Alvast bedankt,

Ik wil vier cellen die steeds op dezelfde plaats staan in het aangeleverde bestand kopiëren in het geheugen.

Bijvoorbeeld cel A5 B10 en B14. Ik heb echter ook al iets op het klembord staan wat gekopiëerd wordt dus die optie valt af.

De inhoud van de cellen moet in het daaropvolgende sheet op andere locaties geplaatst worden.
 
MJONK,

Ik heb echter ook al iets op het klembord staan wat gekopiëerd wordt dus die optie valt af.
Ik gebruik Excel 2007 en heb het net getest, je kunt daar meerdere items op het klembord zetten.
Deze informatie haalde ik uit de help van Excel.
Welke versie je gebruikt weet ik niet.
 
Oké., zou goed moeten werken dan.

Kun je misschien vertellen hoe je dit precies doet?

Ik dacht eigenlijk dat het ook mogelijk was om zo'n celinhoud een codenaam in VBA te geven waarmee deze dan vaker gebruikt kon worden in de VBA module.

Ik werk ook met excel 2007.
 
MJONK,

Kun je misschien vertellen hoe je dit precies doet?
Druk op F1 en vul daar Klembord in en lees de uitleg even.
Dus selecteer 1 cel en klik linksboven onder het schaartje (Copieren) en pak dan de volgende tot je er mee klaar ben.
Klik dan onderaan op het pijltje naast Klembord, die rolt dan uit en zie de verschillende onderdelen die je heb gecopieerd.
 
Alvast bedankt,

Ik wil vier cellen die steeds op dezelfde plaats staan in het aangeleverde bestand kopiëren in het geheugen.

Bijvoorbeeld cel A5 B10 en B14. Ik heb echter ook al iets op het klembord staan wat gekopiëerd wordt dus die optie valt af.

De inhoud van de cellen moet in het daaropvolgende sheet op andere locaties geplaatst worden.

Als ze steeds op dezelfde plek staan dan zou ik het niet moeilijker maken dan nodig is en een verwijzing gebruiken naar de betreffende cellen.
Wat je volgens mij bedoelt is declareren van variabelen en deze variabelen behouden voor andere werkbladen. Dat kan wel en is zeker niet slecht maar is zo te zien niet direct noodzakelijk.

Met vriendelijke groet,


Roncancio
 
Roncancio;

dat is precies wat ik bedoel!

Mijn probleem is dat ik het blad uit outlook haal, en dus steeds een andere naam heeft. Hierdoor is het volgens mij lastig om een verwijzing te maken in VBA?

Met het klembord kan het dus lukken, (moet ik nog proberen), maar dit lijkt mij niet ideaal.
 
Roncancio;

dat is precies wat ik bedoel!

Mijn probleem is dat ik het blad uit outlook haal, en dus steeds een andere naam heeft. Hierdoor is het volgens mij lastig om een verwijzing te maken in VBA?

Met het klembord kan het dus lukken, (moet ik nog proberen), maar dit lijkt mij niet ideaal.

Nah, dat is wel te omzeilen, kijkt mij.
Je zou bijvoorbeeld kunnen kijken naar een bepaald deel van de naam van het werkblad.
Eventueel zou je kunnen werken met de INDEX-nummer van het werkblad.
INDEX-nummer is de volgorde nummer van het werkblad tov de andere werkbladen.

Met vriendelijke groet,


Roncancio
 
Goedenavond inmiddels,

Misschien is het omzeilen wel te doen, maar waarom zou ik?

Het enige dat ik wil is enkele getallen/teksten van het werkblad af kopiëren naar een ander werkblad., ik open dus één werkblad waarvan de naam onbekend is, wil hiervan enkele gegevens "onthouden", en deze daarna in de werkmap die later geopend wordt neerplaatsen als voorbeeld in een invulbox.

Met vriendelijke groet,


MJonk
 
Goedenavond inmiddels,

Misschien is het omzeilen wel te doen, maar waarom zou ik?

Het enige dat ik wil is enkele getallen/teksten van het werkblad af kopiëren naar een ander werkblad., ik open dus één werkblad waarvan de naam onbekend is, wil hiervan enkele gegevens "onthouden", en deze daarna in de werkmap die later geopend wordt neerplaatsen als voorbeeld in een invulbox.

Met vriendelijke groet,


MJonk

Doordat de naam van het werkblad niet bekend is, kan je ook gebruik maken van het indexnummer van het werkblad of eventueel een gedeelte van de naam van het werkblad.
Dat bedoelde ik met het omzeilen van de vaste verwijzing.

Met vriendelijke groet,


Roncancio
 
dat begreep ik, ik wil echter toch graag weten hoe je die gegevens in een soort geheugen in vba kan plaatsen... dus als dat kan?

Een andere mogelijkheid is om gewoon het hele bestand (1 tabblad) te kopiëren naar het bestand waaruit ik ga werken en na de run van het macrootje direct weer verwijderen....

er zijn dus genoeg opties zo te horen, dus dat is fantastisch, toch ben ik erg nieuwsgierig naar de manier die ik als eerste in mijn hoofd had, en dat is dus met het een soort geheugen te gaan werken.
 
Kijk, je zou met variabelen kunnen werken.

Code:
Dim lGetal as Long
lGetal = Workbooks(2).Worksheets(1).Range("A1").Value
Range("B1").Value = lGetal
Je declareert lGetal as een Long-variabele.
Vervolgens bewaar je de waarde van Workbooks(2).Worksheets(1).Range("A1") in lGetal.
Daarna zet je die waarde in B1 van het huidige werkblad.

Dit alles kan ook in 1 keer.

Code:
Range("B1").Value = Workbooks(2).Worksheets(1).Range("A1").Value

Dus, zeg het maar.

Met vriendelijke groet,


Roncancio
 
super! het is me gelukt,

Op beide manieren.

Bedankt voor de hulp
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan