Avatar billede vango6 Praktikant
31. maj 2010 - 14:32 Der er 4 kommentarer og
1 løsning

ActiveSheet

Hejsa

Jeg har en projektmappe hvor jeg nu skal have flere ark,
det jeg skal bruge er at neden stående, henter på "data"-ark,
og sætter ind på det åbne ark og ikke kun på "Hovedstreng"-arket.

på Forhånd tak


Private Sub Workbook_Open()
Application.OnKey "{F2}", "ThisWorkbook.CopyInsert"
Application.OnKey "{F3}", "ThisWorkbook.CopyInsert2"
End Sub

Function CopyInsert()
Application.ScreenUpdating = False

    Sheets("data").Select
    Range("aa16:bn19").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Hovedstreng").Select
    Range("A" & Range("AD7")).Select
    Selection.Insert Shift:=xlDown
    Range("AD7").Value = Range("AD7").Value + 4
   
Application.ScreenUpdating = True

End Function
Avatar billede jkrons Professor
31. maj 2010 - 15:25 #1
Hvad sker der, hvis du retter

    Sheets("Hovedstreng").Select
    Range("A" & Range("AD7")).Select
    Selection.Insert Shift:=xlDown

til

    Activesheet.Range("A" & Range("AD7")).Select
    Selection.Insert Shift:=xlDown

Det kræver selvfølgelig at du står i det rigtige ark, når du afspiller makroen.
Avatar billede vango6 Praktikant
31. maj 2010 - 15:50 #2
Fejl 400

Det har jeg prøvet, mon ikke jeg skal døbe activesheet først, inden jeg går over på "data"arket?
Avatar billede jkrons Professor
31. maj 2010 - 15:59 #3
Jeg er ikek helt sikker på, hvorfor du har denne linje

Activesheet.Range("A" & Range("AD7")).Select

Den fejler konsekvent hos mig. Hvis det bare skal indsættesi AD7, burde følgende virke:

Function CopyInsert()
    Application.ScreenUpdating = False
    Sheets("data").Range("a16:b19").Copy
    ActiveSheet.Range("AD7").Select
    Selection.Insert Shift:=xlDown
    Range("AD7").Value = Range("AD7").Value + 4
    Application.CutCopyMode = False
    Application.ScreenUpdating = True

End Function

Der er ingen grund til at vælge Data arket først.
Avatar billede vango6 Praktikant
31. maj 2010 - 17:44 #4
grunden til at jeg har:

Activesheet.Range("A" & Range("AD7")).Select

Er fordi at den skal sætte ind i kolonne A række (det tal der står i "AD7"), så den hele tiden sætter ind under de felter den lige har sat ind derfor:

Range("AD7").Value = Range("AD7").Value + 4

Og mange tak nu fik jeg det til at virke

"jkrons" Sender du et svar?
Avatar billede jkrons Professor
31. maj 2010 - 18:31 #5
OK, så forstår jeg. Her er et svar.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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