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

Macro korter maken.

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

jpvs

Gebruiker
Lid geworden
28 jan 2003
Berichten
806
Is het mogelijk dit te verkorten?

Code:
Sheets("Schenck").Select
    Range("A1:I45").Select
    Selection.Copy
    Sheets("AfdrukPagina").Select
    Range("V1").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("V1").Select
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("V1").Select
    Sheets("Schenck").Select
    Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A1").Select

Pierre
 
Wat is juist de bedoeling van de code? Op het einde begrijp ik het niet goed, het begin wel.
 
Dit is hoe ik het probleem zie:

Code:
    Sheets("Schenck").Range("A1:I45").Copy
    Sheets("AfdrukPagina").Range("V1").PasteSpecial xlPasteValuesAndNumberFormats
    Application.CutCopyMode = False

Wigi
 
Wigi,

Bijna goed de opmaak ontbreekt nog?
heb het juist getest, als ik er 2 achter elkaar zet blijft de macro hangen op de 2de macro vanaf Sheets("Van Reamdonck").

Code:
    Sheets("Schenck").Range("A1:I45").Copy
    Sheets("AfdrukPagina").Range("B1").PasteSpecial xlPasteValuesAndNumberFormats
    Application.CutCopyMode = False
    
    Sheets("Van Reamdonck").Range("A1:I45").Copy
    Sheets("AfdrukPagina").Range("L1").PasteSpecial xlPasteValuesAndNumberFormats
    Application.CutCopyMode = False

met de melding "Het subscript valt buiten het bereik".



Pierre
 
Laatst bewerkt:
Zeg eens eerst wat de concrete bedoeling is. Een voorbeeldbestandje is ook handig.
 
Even op typefoutje letten.
Sheets("Van Raemdonck i.p.v. Van Reamdonck

Mvg

Piet
 
Uhum:
Vergelijk onderste twee eens:
Code:
Sheets("Van R[COLOR="red"]ea[/COLOR]mdonck").Range("A1:I45").Copy

Code:
Sheets("Van R[COLOR="Red"]ae[/COLOR]mdonck").Range("A1:I45").Copy

onderste doet het wel bij mij :).

:o te laat.
 
Hahahahahaha.Dit keer niet Wigi.
Misschien heb je nu wel een gelijke gevonden? :D
Al hoewel ik dit ten zeerste betwijfel.
 
Hahahahaha, gelijk heb je Piet.
Kunnen we je ook niet afnemen, en ben het wel gewent dat er al iemand heeft gereageerd voordat ik eindelijk mijn antwoord gereed heb:( (LOL).

En gaat niet om de accuraatheid waarmee de vraag wordt beantwoord ipv de snelheid waarmee er een bericht wordt geplaatst?

Ok, ok. sommige zijn nu eenmaal snel en accuraat maar dit houdt de andere alleen (mij) maar scherp. :). Post ze.
 
Ja, typ fouten zijn snel gemaakt.

Als ik het volgende doe zou er nog de opmaak mee gekopieerd moeten worden wat niet gebeurd?


Sub Test()
Sheets("Schenck").Range("A1:I45").Copy
Sheets("AfdrukPagina").Range("B1").PasteSpecial xlPasteValuesAndNumberFormats
Application.CutCopyMode = False

Sheets("Van Raemdonck").Range("A1:I45").Copy
Sheets("AfdrukPagina").Range("L1").PasteSpecial xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
End Sub

Pierre
 
Niet alle opmaak gaat mee. Wel de opmaak van de celinhoud, maar bv. niet de achtergrondkleur.

Plaats aub ook eens code tags rond de code aub.
 
Bij mijn voorbeeld (Book3.zip) staat een macro en is gemaakt met Excel 2007 hier word wel de opmaak mee gekopieerd?

Pierre
 

Bijlagen

Verschillen excel 2003 en 2007 zijn in de code net zo groot als het verschil in de layouts.
Ze hebben heel wat onder de motor kap veranderd.
 
Ok, er is veel verschil maar als ik de macro gebruik in excel 2003 wordt de opmaak mee gekopieerd?


Code:
Sub Macro1()
'
' Macro1 Macro
'

'
    Range("A1:I27").Select
    Selection.Copy
    Sheets("AfdrukPagina").Select
    Range("B1").Select
    ActiveSheet.Paste
    Range("L1").Select
    Sheets("Schenck").Select
    Range("A1:I27").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("AfdrukPagina").Select
    ActiveSheet.Paste
    Range("V1").Select
End Sub


Pierre
 
Wat is die ActiveSheet.Paste?

Snap je nu waarom ik als 1ste antwoord op je vraag schreef:

Wat is juist de bedoeling van de code? Op het einde begrijp ik het niet goed, het begin wel.

Wigi
 
Wigi,

Wat is die ActiveSheet.Paste?

Dit is gewoon plakken.


Hier is de volledige macro:

Code:
' AfdrukpaginaMaken Macro
' De facturen klaarmaken om te printen ( afdrukpagina )
Sub AfdrukpaginaMaken()
  
   'Van der straeten
    Sheets("Van der Straeten").Select
    Range("A1:I45").Select
    Selection.Copy
    Sheets("AfdrukPagina").Select
    Range("B1").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("B1").Select
    Sheets("Van der Straeten").Select
    Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A1").Select
'Van Raemdonck
    Sheets("Van Raemdonck").Select
    Range("A1:I45").Select
    Selection.Copy
    Sheets("AfdrukPagina").Select
    Range("L1").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("L1").Select
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("L1").Select
    Sheets("Van Raemdonck").Select
    Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A1").Select
'Schenck
    Sheets("Schenck").Select
    Range("A1:I45").Select
    Selection.Copy
    Sheets("AfdrukPagina").Select
    Range("V1").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("V1").Select
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("V1").Select
    Sheets("Schenck").Select
    Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A1").Select
'Van Steenbergen
    Sheets("Van Steenbergen").Select
    Range("A1:I45").Select
    Selection.Copy
    Sheets("AfdrukPagina").Select
    Range("AF1").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("AF1").Select
    Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("AF1").Select
    Sheets("Van Steenbergen").Select
    Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Sheets("Van Steenbergen").Select
    Range("A1").Select
    Sheets("AfdrukPagina").Select
    ActiveWindow.LargeScroll ToRight:=-2
    Range("A1").Select
 End Sub

Pierre
 
Laatst bewerkt:
Wel, met de Plakken ga je dus wel alle opmaak mee overzetten...

Geef eens, voor elke persoon, de nodige stappen.

Bv. kopieer blad ... bereik ... naar blad ... bereik ... met die en die opmaak.

Enz.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan