• 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.
Je selecteert ook wel erg!!! Ook selecteer je bladen waarme je niks doet.

bv:
Code:
 Sheets("Van Steenbergen").Select
    Range("A1:I45").Select
kan al
Code:
 Sheets("Van Steenbergen").Range("A1:I45").Select
worden.

En waarom cel B1 selecteren als je daarn cel A1 op een ander blad selecteert:
Code:
    Range("B1").Select
    Sheets("Van der Straeten").Select
    Range("A1").Select

Al het selecteren maakt je code er niet overzichtelijker op.
 
Pierre moet gewoon van mijn code vertrekken en lichtjes aanpassen.

Ik wil dat zelf ook doen, maar dan moet natuurlijk de juiste info er zijn.

EDIT: had het bestandje niet gezien. Zie volgende post.
 
Laatst bewerkt:
Dit doet het voor een willekeurig tabblad. Opmaak wordt geplakt, en vervolgens de cellen als waarden. Andere keuzes zijn ook mogelijk.

Code:
Sub Macro2()
    Range("A1:I45").Copy
    With Sheets("AfdrukPagina").Range("V1")
        .PasteSpecial xlPasteFormats
        .PasteSpecial xlPasteValues
    End With
    Application.CutCopyMode = False
End Sub

Waar moeten de andere tabbladen naartoe op AfdrukPagina?

Wigi
 
Netjes opgelost met de with functie Wigi:thumb: .

Mijn handicap nu is dat ik nog te vaak dezelfde oplossingen probeer te gebruiken voor verschillende problemen. Maar aldoende leert men. :D
 
Heb er dit van gemaakt:

Code:
Sub AfdrukpaginaMaken()
    Application.ScreenUpdating = False
    Sheets("Van der Straeten").Range("A1:I45").Copy
    With Sheets("AfdrukPagina").Range("B1")
        .PasteSpecial xlPasteFormats
        .PasteSpecial xlPasteValues
    End With
    
    Sheets("Van Raemdonck").Range("A1:I45").Copy
    With Sheets("AfdrukPagina").Range("L1")
        .PasteSpecial xlPasteFormats
        .PasteSpecial xlPasteValues
    End With
    
    Sheets("Schenck").Range("A1:I45").Copy
    With Sheets("AfdrukPagina").Range("V1")
        .PasteSpecial xlPasteFormats
        .PasteSpecial xlPasteValues
    End With
    
    Sheets("Van Steenbergen").Range("A1:I45").Copy
    With Sheets("AfdrukPagina").Range("AF1")
        .PasteSpecial xlPasteFormats
        .PasteSpecial xlPasteValues
    End With
    Application.CutCopyMode = True
End Sub

alleen het laatste blijft geselecteerd?

Pierre
 
Laatst bewerkt:
Waarom maak je trouwens geen lus door de tabbladen?

Omdat niet alle tabladen moeten geprint worden.
In totaal zijn er 10 waarvan er 4 voor afdruk.

Pierre

PS: welk code is er om de selectie ongedaan te maken?
 
Laatst bewerkt:
Omdat niet alle tabladen moeten geprint worden.
In totaal zijn er 10 waarvan er 4 voor afgedruk.

Je kan een lus door de tabbladen maken, en dan checken wat de naam is. Als die overeenkomt met 1 van de 4, dan uitvoeren, anders niet.
 
Laatst bewerkt:
Selectie verdwijnd niet met Range("A1").Activate ?



bedoel je dit in verband met een lus ?

Code:
Sub Printen()
    For i = 1 To Sheets.Count
        Sheets(i).PageSetup.PrintArea = "$A$1:$I$28"
        ActiveSheet.PrintOut
    Next
End Sub



Pierre
 
Laatst bewerkt:
Code:
Sub AfdrukpaginaMaken()
    
    Dim w As Worksheet, sAddress As String
    
    sAddress = ""
    Application.ScreenUpdating = False
    
    For Each w In ThisWorkbook.Worksheets
    
        Select Case w.Name
            Case "Van der Straeten": sAddress = "B1"
            Case "Van Raemdonck": sAddress = "L1"
            Case "Schenck": sAddress = "V1"
            Case "Van Steenbergen": sAddress = "AF1"
            Case Else: sAddress = ""
        End Select
        
        If sAddress <> "" Then
            w.Range("A1:I45").Copy
            With Sheets("AfdrukPagina").Range(sAddress)
                .PasteSpecial xlPasteFormats
                .PasteSpecial xlPasteValues
            End With
        End If
    Next
    
    With Application
        .Goto Sheets("Van der Straeten").Range("A1"), True
        .CutCopyMode = True
        .ScreenUpdating = True
    End With
End Sub

Wigi
 
Wigi,

Zoals gewoonlijk werkt prima, bedankt voor je geduld.

Pierre
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan