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

Kopiëren en plakken in ander werkblad

Status
Niet open voor verdere reacties.

eric2001

Terugkerende gebruiker
Lid geworden
23 mrt 2001
Berichten
1.600
Hi,
Ik moet (meer dan 100 keer) een gedeelte van een document kopiëren en dan plakken in een nieuw document. De instellingen van de kolombreedte (en waarschijnlijk nog wel meer) neemt 'ie dan niet mee. Verder neemt het op de manier waarop ik dat doe best wel veel tijd in beslag. (nieuw bestand maken en plakken)
Heeft iemand suggesties om dit effectiever te doen?
Eric
 
Als het steeds hetzelfde deel is zou je dit een keer op kunnen slaan en dan vanuit de verkenner de sheet kunnen kopieren en hernoemen.

Een andere optie is om opslaan als te gebruiken en het op deze manier steeds een andere naam te geven.
 
Helaas Jan, het is steeds een ander gedeelte. Maar opslaan als kan toch niet met een selectie?
Ga het gelijk proberen.
Thnx,
Eric
 
Hoi Eric, :D

Ik zal eens even proberen met jouw mee te denken.

Volgens mij is het goed mogelijk om een aantal zaken te automatiseren. Wellicht niet alle omdat het wel een beetje variabel toepasbaar moet blijven.

Stel bijvoorbeeld het enige wat jij nog hoeft te doen is het volgende:

1. Jij selecteerd zelf de range en drukt op de copy knop.
2. Dan druk jij op een door jouw nog te maken werkbalkknop waaronder deze code zit:
Code:
Sub BestandEnPlakken()
Workbooks.Add

    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

End Sub
3. Deze code voegt een nieuw bestand toe en plakt eerst via de functie "alles" en vervolgens via de functie Kolombreedte.
Of te wel alles wordt netjes geplakt en en de kolommen worden uitgelijnt.

4. Vervolgens moet je zelf even het bestand opslaan. Dit kan ook automatisch maar neem aan dat je een en ander wilt controleren.

5. En dan ben je klaar denk ik.

Het is jammer dat je niet precies weet welke plakkenspeciaal values jij allemaal nodig hebt. Ik weet immers ook niet wat voor gegevens jij allemaal wilt copy pasten.
Maar goed, het is een koud kunstje om met de macrorecorder deze benodigde plakopties op te nemen en deze vervolgens toe te voegen aan de code.

Tja, het is even een beetje klussen maar het zal je wanneer je een goede macro hebt veel tijd besparen.

Het voordeel van deze manier is dat je selectie (range) welke jij selecteert helemaal variabel is.
Je plakt immers van het klembord.

Zit ik in de juiste richting te denken?

See Yah! :thumb:
 
Ha Joost,
Als ik hier wat mee stoei kan het me inderdaad veel tijd besparen. Ik zit nu op m'n werk en op die pc met office '95 en daar krijg ik in de eerste regel al een foutmelding. Ik zal het vanavond thuis nog een keer proberen. Ik laat het weten.
Grtz,
Eric
 
Ha Joost,

Het lukt niet. Ik neem aan dat je met een werkbalkknop hetzelfde bedoelt als een macro. Maar wanneer moet ik die runnen, als ik het gedeelte geselekteerd heb? Hij maakt dan zelf een nieuw bestand aan enzo? Of moet ik het eerst kopiëren naar het klembord?
Ik krijg overigens "fout 1004 tijdens de uitvoering: Methode Paste Special van klasse Range is mislukt".
Ik snap er weinig van.
Eric
 
Hoi Eric, :D

Om de laatste vraag eerst te beantwoorden, volg het stappenplan exact zoals het in mijn bericht staat.

Bij 1 staat: "Jij selecteerd zelf de range en drukt op de copy knop."

Dus idd dit is dus iets wat je zelf moet doen dit is logisch want zo kun je variabele bereiken kopieren.

Vervolgens staat er exact wat de macro voor jouw doet. En dus ook hoe je hem na kunt maken.

Wat die knop betreft. Rechtermuisknop op werkbalk/aanpassen/opdrachten/macro's/macroknop op de werkbalk slepen/selectie wijzigen/en macro toewijzen. (dus bovenstaande code)

Maar het grootste probleem hier is dat ik met 2002 en 2003 werk en jij dus met 95 of 97!

Dus om jouw probleem op te lossen moet de code opgenomen worden in jouw eigen versie 95 deze zal dan wel in hogere versies werken. (andersom niet de vba taal veranderd continue)

Print dit topic uit en lees de stappen van het eerste bericht goed door.

Je moet gewoon thuis op jouw pjoeter het volgende doen.

Ga naar menu extra/macro/macro opnemen.
Nu start de recorder.
Kies op bestand nieuw, of op de nieuw bestand icoon. (dit is de eerste regel code welke een nieuw bestand opent)

Vervolgens druk je op de plakken knop. (deze heeft standaard de Allesplakken optie)
Daarna kies je bewerken plakkenspeciaal en vervolgens kies je kolombreedte plakken. (of wat je nog meer nodig denkt te hebben (opmaak of zo) kun je ook erbij opnemen))

Als laatste druk je op het blauwe vierkantje om de macrorecorder te stoppen.

Nu maak je de werkbalkknop aan zoals bovenaan beschreven.

Nu ga je de code testen.
Selecteer een te kopieeren bereik.
Druk op Copy
NU druk je op de nieuwe werkbalkknop.

Er opent zich een bestand en de selectie word gekopieerd.
Wanneer alles naar wens is gekopieerd ben je klaar en anders zul je de macro moeten verbeteren.

Voor hulp kun je hier terug komen of lekker zelf experimenteren met de recorder.

Dat was het!

Even voor de duidelijkheid bovenstaand verhaal en met name benamingen van menus e.d. hoeven niet overeen te komen in Office 95. (deze versie bezit ik niet)

Het is zelfs mogelijk dat daar geen recorder in zit. (kan het mij niet meer herinneren)

Hoe dan ook, als je de macro maakt in 95 dan zal hij altijd werken. altijd van onder naar boven werken met Officeprogrammeren.

Veel succes!
Pfffffffff, wat een verhaal zeg. :thumb:
 
hi Joost,
Bedankt voor je zeer uitgebreide uitleg. Ik denk dat ik er bijna uit ben nu. Die knop is dus alleen om die macro op te roepen. Nu ben ik bezig de macro te testen en dat werkt, dus ik moet hem alleen nog aan die knop koppelen, maar dat mag geen probleem zijn. Overigens heb ik in de macro ook copy opgenomen, dus weer een handeling minder. "Opslaan als" kan ik niet opnemen omdat ik steeds een andere naam wil geven.
Kortom: ik ben een heel stuk verder (en wijzer).
By the way: Die Office '95 was op mijn werk, hier gebruik ik wel 2003.
Grtz,
Eric
 
Hoi Eric, :p

Fijn dat ik je heb kunnen helpen!

Idd 2003 is een stuk meer de juiste kant op. (zijn ze bij jouw op het werk aan het bezuinigen of zo...al 9 jaar lang :p )

Maar goed, ik hoop dat het allemaal goed gaat en dat het je maar veel TIJDwinst op gaat leveren! :thumb:
 
Hi Joost,
Het werkt nu perfect, dankzij jouw hulp. Ze zijn op mijn werk niet aan het bezuinigen, maar ze denken dat alles wat werkt nog goed is (exact bv. onder dos)
Maar goed. Was alleen nog even puzzelen dat ik 'm onder persoonlijke werkmap moest opslaan, want ik was 'm iedere keer kwijt. Nog een kleinigheidje: kun je dat lachebekje niet veranderen?

CU
Eric
 
HI Eric, :D :D :D :D :D

TOPPIE dat je er uit bent!

Begrijp mij goed, ik was gewoon een geintje aan het maken met die bezuinigingen! :8-0:

En begrijp ik het goed dat jij het gebruik van emoticons niet leuk vindt? :p

Ik vindt ze GEWELDIG! :thumb:

Tot de volgende uitdaging: :cool:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan