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

Bereiknaam niet mee laten schuiven bij invoegen rij

Status
Niet open voor verdere reacties.

miriam85

Gebruiker
Lid geworden
12 mrt 2007
Berichten
114
Hallo,
Ik heb de onderstaande macro gemaakt. Wanneer ik echter een rij invoeg dan schuiven de bereiknamen naar beneden op en dat wil ik niet. Hoe kan ik dit aanpassen? In de bereiknamen worden al wel dollartekens gebruikt. Ik heb de macro hierdoor ook nog niet volledig kunnen testen dus het zou kunnen dat er nog een fout inzit of dat er sowieso nog verbeteringen mogelijk zijn (bijv. de manier waarop het bestand wordt geopend)

Code:
Sub CopyProjectSummary()
'Open Summary en voeg rij in
    Workbooks.Open Filename:= _
            "C:\Users\Miriam\Desktop\Account Management\_AM-Summary.xlsm"
        Sheets("Projects").Unprotect
        Range("Projects_InsertRow").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'Kopieer de Summary van de projectsheet
    Windows("ProjectSheet_v1.0.xltm").Activate
        Range("Summary_All").Copy
'Plak de summary in het projectoverzicht van de AM-Summary
    Windows("_AM-Summary.xlsm").Activate
        Range("Projects_InsertRow").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Range("Projects_InsertRow").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
'Sorteer op datum
    Range("Projects_AllRows").Select
    ActiveWorkbook.Worksheets("Projects").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Projects").Sort.SortFields.Add Key:=Range( _
        "Projects_SortColumn"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Projects").Sort
        .SetRange Range("Projects_SortRange")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
'Verwijder duplicaten
    ActiveSheet.Range("Projects_SortRange").RemoveDuplicates Columns:=8, Header:= _
        xlYes
'Sluit Summary
    Sheets("Projects").Protect
    Range("Projects_StartCell").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveWorkbook.Protect Structure:=True, Windows:=False
    Application.DisplayAlerts = True
    ActiveWorkbook.Save
    ActiveWindow.Close
    MsgBox ("Macro is klaar")
End Sub
 
Door het bereik met de naam :'Projects_AllRows' dynamisch te maken, ofwel het bereik laten bepalen door het aantal betroffen lijnen.
 
Sorry, maar ik snap niet helemaal hoe dit moet of wat je precies bedoeld. Kan je het iets verduidelijken?
 
Als je in het bereik 'Projects_AllRows' bv:A1:K20 1 rij tussenvoegt dan wortd je bereik toch automatisch A1:K21

Als je dat niet wil dien je er voor te zorgen dat die 20 vast komt te staan.

Bv: =Indirect("A$1:$K$"&20)
 
Een andere optie om je genaamd bereik vast te leggen (er van uit gaande dat je geen rijen invoegt boven rij 1)
=$A$1:index($K:$K;20)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan