jh_ Skrevet 4. mai 2004 Del Skrevet 4. mai 2004 (endret) Jeg driver å sliter litt med en makro i excel her, på bildet under ser du hvordan utgangspunktet er; 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! Endret 4. mai 2004 av jh_ Lenke til kommentar
trn100 Skrevet 5. mai 2004 Del Skrevet 5. mai 2004 (endret) 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 5. mai 2004 av trn100 Lenke til kommentar
jh_ Skrevet 5. mai 2004 Forfatter Del Skrevet 5. mai 2004 (endret) *slettet* Endret 5. mai 2004 av jh_ Lenke til kommentar
DieBert Skrevet 5. mai 2004 Del Skrevet 5. mai 2004 Kan du ikke bare kopiere inn kildekoden til den aktuelle Sub'en? Lenke til kommentar
jh_ Skrevet 5. mai 2004 Forfatter Del Skrevet 5. mai 2004 trn100: Beklager, jeg hadde gjort noe feil.. Kodene du skrev inn fungerte faktisk! My bad! Tusen takk for hjelpen! Lenke til kommentar
trn100 Skrevet 5. mai 2004 Del Skrevet 5. mai 2004 (endret) Du kan jo uansett bruke ActiveCell.Offset(y,x).Select for å flytte markøren relativt i forhold til den aktive cellen?! Endret 5. mai 2004 av trn100 Lenke til kommentar
jh_ Skrevet 5. mai 2004 Forfatter Del Skrevet 5. mai 2004 Du kan jo uansett bruke ActiveCell.Offset(y,x).Select for å flytte markøren relativt i forhold til den aktive cellen?! Jeg skjønner det nå Lenke til kommentar
trn100 Skrevet 5. mai 2004 Del Skrevet 5. mai 2004 trn100: Beklager, jeg hadde gjort noe feil.. Kodene du skrev inn fungerte faktisk! My bad! Tusen takk for hjelpen! Bare hyggelig det :-) Lenke til kommentar
jh_ Skrevet 5. mai 2004 Forfatter Del Skrevet 5. mai 2004 trn100: Beklager, jeg hadde gjort noe feil.. Kodene du skrev inn fungerte faktisk! My bad! Tusen takk for hjelpen! 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
trn100 Skrevet 5. mai 2004 Del Skrevet 5. mai 2004 (endret) 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 5. mai 2004 av trn100 Lenke til kommentar
jh_ Skrevet 6. mai 2004 Forfatter Del Skrevet 6. mai 2004 trn100 Igjen, takk for hjelpen! Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå