Avatar billede sjssjdk Mester
16. juni 2015 - 13:30 Der er 7 kommentarer

Macro indset linje

Hej.

Jeg har et problem med en inset funktion.
Jeg vil gerne have flere knapper der indsetter række
forskellige steder på et ark.

På billede ses hvorledes det ser ud: http://web.gratisupload.dk/f/8s8rkcj4lr/

Den macro jeg bruger ser sådan ud:

Private Sub CommandButton22_Click()

Sheets("1").Range("A20").Select
ActiveCell.EntireRow.Insert Shift:=xlDown

End Sub


Problemet er at når jeg har sat fx 4 linjer ind med øvereste knap, så er A20 ikke den linje der ligger under ustype 2.
Hvordan sikre jeg at det altid er lige under Hustye 2 at den nye linje bliver indsat uanfægtet hvor på arket Hustype 2 står.

Håber meget på jeres hjælp.

mvh
Søren Jensen
Avatar billede jens48 Ekspert
16. juni 2015 - 14:22 #1
Navngiv A20 (i koden her med navnet "Hustype2") og brug

Range("Hustype2").Offset(1, 0).Select

i stedet for

Range("A20").Select
Avatar billede Dan Elgaard Ekspert
16. juni 2015 - 14:23 #2
Brug funktionen Match() til først, at finde den række, hvor teksten 'Hustype 2' står i, og derefter indsætter du efter denne række.

Sådan lige i hovedet (uden at have testet det), må det blive noget i denne stil:

Række = Worksheetfunction.Match("Hustype 2",Range("B:B"),0)
Sheets("1").Range("A" & Række).EntireRow.Insert Shift:=xlDown

Prøv dig frem :-)
Avatar billede jens48 Ekspert
16. juni 2015 - 16:11 #3
Det skulle have været A19, der skulle navngives
Avatar billede sjssjdk Mester
17. juni 2015 - 07:28 #4
Hej pistolprinsen

Tak for dit forslag.
Dog løser det ikke 100% problemet. Rækken bliver indsat over "hustype2" i stedet for under. Kan jeg rette det til så rækken bliver indsat under "hustype2". Så "hustype2" bliver hvor det er.
Avatar billede sjssjdk Mester
17. juni 2015 - 07:29 #5
Hej Jens48

Måske jeg ikke helt forstår begræbet at navngive. Kan du uddybe det? Jeg kan ikke få din macro til at fungere.

mvh
Søren
Avatar billede jens48 Ekspert
17. juni 2015 - 09:20 #6
Stil dig i A19. Hvis du har en engelsk version kan du bruge shortcut Ctrl + I, N, D. Så kommer du ind i Name Manager. Alternativt kan du blot skrive det valgte navn i det øverste venstre felt lige under båndet, hvor der uden navngivning står A19.
Avatar billede Dan Elgaard Ekspert
17. juni 2015 - 10:47 #7
Jamen, for råbende ud højt!!!

Kan du ikke selv finde ud af, at ligge 1 til?!?

Række = Worksheetfunction.Match("Hustype 2",Range("B:B"),0) + 1
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