Gå til innhold

Makro i microsoft excel


jh_

Anbefalte innlegg

Jeg driver å sliter litt med en makro i excel her, på bildet under ser du hvordan utgangspunktet er;

 

utgangspunkt.jpg

 

Det jeg vil at makroen skal gjøre er å sette inn 3 rader under rad nr. 2, deretter skal den flytte Rad 2/Kolonne B til Rad 3/kolonne A, og Rad 2/Kolonne C skal flyttes under (Altså Rad 4/kolonne A) og sånn skal det gå videre til den har flyttet tilogmed kolonne H. Når denne makroen er laget vil jeg at jeg skal kunne gå under på neste (32180165) og gjøre akkurat det samme.

 

Problemet er at når jeg lager makroen så registrerer den at jeg setter inn 3 rader under rad 2, så hvis jeg skal utføre denne på nummeret under, så er ikke det lenger på rad 2, men lenger ned, så da får jeg ikke brukt makroen om og om igjen nedover.

Jeg lurer på om det er noen måte som gjør at makroen registrerer radene som "X", altså at den ikke registrerer nummeret, men at den registrerer tastetrykkene, altså sånn at jeg kan få brukt den samme makroen om og om igjen nedover.

 

Vet dette er litt dårlig formulert, men er ikke så lett å forklare.. hvis noen skjønner det, og har noen forslag til hvordan jeg kan gjøre dette så bare spytt ut! ;) Alle forslag mottas med glede! :yes:

Endret av jh_
Lenke til kommentar
Videoannonse
Annonse

Hmmm... Dersom du skal flytte alle cellene B2-H2 under A2 holder det vel ikke med 3 tomme rader? Eller har jeg misforstått? Du trenger vel 7 rader?

 

Eksperimenter litt med dette:

 

(klipp ev. ut det som står mellom Sub test() og End Sub og lim det inn i din eksisterende makro):

 

Sub test()

 

' Flytter 1 rad ned

ActiveCell.Offset(1, 0).Select

 

' Setter inn 3 tomme rader (Bytt ut 2 med feks. 7 for å få 8 rader!)

Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(2, 0)).Select

Selection.EntireRow.Insert

 

' Flytter 1 rad opp og 1 kol. til høyre

ActiveCell.Offset(-1, 1).Select

 

' Klipp ut innhold

Selection.Cut

 

' Flytter 1 rad ned og 1 kol. til venstre

ActiveCell.Offset(1, -1).Select

 

' Lim inn

ActiveSheet.Paste

 

' Flytt 1 rad opp og 2 kol. til høyre

ActiveCell.Offset(-1, 2).Select

 

' Klipp ut innhold

Selection.Cut

 

' Flytt 2 rader ned og 2 kol. til venstre

ActiveCell.Offset(2, -2).Select

 

' Lim inn

ActiveSheet.Paste

 

' Osv....osv....

 

End Sub

Endret av trn100
Lenke til kommentar
trn100: Beklager, jeg hadde gjort noe feil.. Kodene du skrev inn fungerte faktisk! My bad! Tusen takk for hjelpen!  :thumbup:

Bare hyggelig det :-)

Må bare spørre om en ting til ;)

Si at jeg vil gjenta den samme makroen automatisk 15 ganger nedover, er det noen kommando for dette?

Lenke til kommentar

Du kan f.eks. lage en loop ved at du i begynnelsen av makroen skriver:

 

For teller = 1 to 15

 

....(makro som over)

 

' Flytt markør til neste tlf.nummer

ActiveCell.Offset(2, 0).Select

 

Next teller

 

Edit: Alternativt kan du bruke en While - Wend loop, som sjekker om det finnes flere verdier å jobbe med:

 

While ActiveCell.Value <> ""

 

...(Makro som over)

 

ActiveCell.Offset(2, 0).Select

 

Wend

Endret av trn100
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...