Avatar billede sophie Nybegynder
15. oktober 2001 - 11:04 Der er 13 kommentarer og
1 løsning

Makroer i Exel

I et regneark vil jeg gerne have indsat eksempelvis 5 linier efter hver linie (regnearket indeholder eksempelvis 5000 linier, så det at gøre det manuelt vil kræve et stort stykke arbejde). Ved at indspille en makro vil der konstant blive indsat de ønskede linier det samme sted, hvormed makroen ikke flytter sig selvom markøren er flyttet. Hvordan løses dette.
Avatar billede b_hansen Novice
15. oktober 2001 - 11:12 #1
jeg ved ikke, om jeg har forstået det korrekt....

Hvis du ønsker, at makroen skal arbejde ud fra det sted, hvor makøren befinder sig, skal du bare vælge at optage den med relativ reference. Det er muligt du så skal korrigere makroen lidt efterfølgende, ved at definere aktuelt område til at være Active.Cell

Hvis den derimod skal tage udgangspunkt i samme celle hver gang, skal du optage den med absolut reference.
Avatar billede sophie Nybegynder
15. oktober 2001 - 11:19 #2
Tak for svaret. Du har forstået spm. korrekt. Eftersom jeg ikke er en erfaren bruger af makroer, vil jeg meget gerne vide, hvorledes man udarbejder en makro med relativ reference, da jeg må konstatere at det jeg har gjort indtil nu, er at lave en makro med absolut reference.
15. oktober 2001 - 11:22 #3
Sub InsertLines()
Dim iRow As Integer, i As Integer
Dim rCell As Range
    \'Find nederste række
    Range(\"A65536\").Select
    Selection.End(xlUp).Select
    iRow = ActiveCell.Row
   
    \'Indsæt 5 linier imellem hver
    For i = iRow To 2 Step -1
        Rows(i & \":\" & i + 4).Select
        Selection.Insert Shift:=xlDown
    Next i

End Sub
15. oktober 2001 - 11:23 #4
Det kan laves lidt bedre - kommer om lidt.
15. oktober 2001 - 11:26 #5
Denne her er noget hurtigere

Sub InsertLines()
Dim iRow As Integer, i As Integer
Dim rCell As Range
    \'Find nederste række
    Range(\"A65536\").Select
    Selection.End(xlUp).Select
    iRow = ActiveCell.Row
   
    \'Indsæt 5 linier imellem hver
    For i = iRow To 2 Step -1
        Range(\"A\" & i & \":A\" & i + 4).EntireRow.Insert
    Next i

End Sub
15. oktober 2001 - 11:26 #6
Du kan ændre på    i+4    i linien    Range(\"A\" & i & \":A\" & i + 4).EntireRow.Insert
   
Avatar billede sophie Nybegynder
15. oktober 2001 - 11:27 #7
Mange tak for hjælpen.
15. oktober 2001 - 11:30 #8
Ingen årsag :-) mvh www.win-consult.com
Avatar billede sophie Nybegynder
15. oktober 2001 - 12:04 #9
Et tillægs spm. Er det muligt at tilføje i Makroen, at den første linie skal kopieres ned i de indsatte linier. Det kunne nemlig lette arbejdet en del.
15. oktober 2001 - 12:20 #10
Det skal lige forståes rigtigt !
Med første linie - mener du række 1 ?
eller mener du at f.eks. række 6 skal kopieres ned i alle fem linier, som bliver indsat under række 6 ?
Avatar billede sophie Nybegynder
15. oktober 2001 - 12:40 #11
Jeg mener, at f.eks. række 4 skal kopieres ned i alle de fem linier som bliver indsat under række 4.
15. oktober 2001 - 14:01 #12
Sub InsertLines()
Dim iRow As Integer, i As Integer, ii As Integer
Dim rCell As Range
    \'Find nederste række
    Range(\"A65536\").Select
    Selection.End(xlUp).Select
    iRow = ActiveCell.Row
   
    \'Indsæt 5 linier imellem hver
    For i = iRow To 2 Step -1
        Rows(i & \":\" & i).Copy
        Rows(i + 1 & \":\" & i + 5).Insert Shift:=xlDown
        \'Range(\"A\" & i & \":A\" & i + 4).EntireRow.Insert
    Next i
End Sub
Avatar billede sophie Nybegynder
15. oktober 2001 - 14:20 #13
Mange tak for hjælpen.
Avatar billede sophie Nybegynder
16. oktober 2001 - 08:53 #14
Et tillægsspm. igen. Hvis jeg gerne vil have kopieret et celleområde eksempel a1 til a4 ned i de resterende celler i kolonnen, hvordan løses dette?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester