Forfatter |
Emne Søg Emne funktioner
|
PeBe
Forum Begynder
Medlem: 17.Sep.2012
Status: Offline
Point: 16
|
Emne: Hurtig makro Sendt: 17.Sep.2012 kl. 21:01 |
Hej jeg skal lave en makro der flytter 3 tal fra A1, A2 og A3 til F5, F6 og F7. Men når jeg kører makroen igen skal den tage tallene fra B1, B2 og B3 og flytte til F5, F6 og F7. Hvordan gør jeg det ? På forhånd tak. Hilsen PeBe
|
|
|
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 18.Sep.2012 kl. 09:41 |
Hej PeBe, Jeg har bygget makroen op således: Hvis der står noget i A1, vil makroen flytte data fra A1, A2 og A3 til F5, F6 og F7 Hvis der ikke står noget i A1, vil makroen flytte data fra B1, B2 og B3 til F5, F6 og F7 Det burde virke. Sub Flyt() If Range("A1").Value <> "" Then Range("F5:F7").Value = Range("A1:A3").Value Range("A1:A3").ClearContents Else Range("F5:F7").Value = Range("B1:B3").Value Range("B1:B3").ClearContents End If End Sub //Allan
|
|
PeBe
Forum Begynder
Medlem: 17.Sep.2012
Status: Offline
Point: 16
|
Sendt: 19.Sep.2012 kl. 07:35 |
Hej Allan,
det er super, tak for hjælpen.
Jeg har tilpasset den lidt så den ikke sletter det der stod i
A1-A3, men det virker fint.
Hvad skal jeg gør når den nu efterfølgende skal tage B1,B2,B3
og flytte dem til F5-F7 og derefter C1,C2,C3 til F5-F7....?
Dvs hvordan får jeg den flyttet en celle til højre hver gang ?
(hvis jeg nu har tal i f.eks. A-K kolonnen som alle skal flyttes efterhånden
som man kører makroen.....)
Hilsen
PeBe
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 19.Sep.2012 kl. 21:12 |
Hej igen, Makroen ved som sådan ikke om den har været kørt før, det var derfor den slettede indholdet af A1, A2 og A3, så kunne den selv 'se' hvad den skulle gøre. Vi kan lagre informationen om hvor makroen er nået til - i en celle. Jeg har valgt L4 til formålet, den kan du selv ændre. Hvis du på et tidspunkt vil nulstille tælleværket, sletter du bare indholdet af L4, så starter koden med A1:A3 igen. Sub Flyt() Step = Range("L4").Value If IsEmpty(Step) Then Step = 0 Range("F5:F7").Value = Range("A1:A3").Offset(0, Step).Value Range("L4").Value = Step + 1 End Sub //Allan
|
|
PeBe
Forum Begynder
Medlem: 17.Sep.2012
Status: Offline
Point: 16
|
Sendt: 20.Sep.2012 kl. 06:58 |
Hej Allan,
ok, jeg prøver.....
Hvor skal den anden del stå i forhold til den første del ?
Bare efter hinanden ?
Hilsen
PeBe
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 20.Sep.2012 kl. 08:36 |
Det er en omskrivning af koden, så du skal kun bruge den nye. Den gamle kan du bare slette. //Allan
|
|
PeBe
Forum Begynder
Medlem: 17.Sep.2012
Status: Offline
Point: 16
|
Sendt: 21.Sep.2012 kl. 07:30 |
Hej Allan
super, tak for hjælpen....
Hilsen
PeBe
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 21.Sep.2012 kl. 09:46 |
Velbekomme PeBe //Allan
|
|
|
PeBe
Forum Begynder
Medlem: 17.Sep.2012
Status: Offline
Point: 16
|
Sendt: 21.Sep.2012 kl. 12:23 |
Hej Allan,
fik du min meddelelse i privaten ?
Hilsen
PeBe
|
|
Allan
Forum Admin
Forum Admin
Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
|
Sendt: 21.Sep.2012 kl. 17:09 |
Ja, det gjorde jeg. Jeg har blot ikke haft tid til at se på den.
//Allan
|
|
PeBe
Forum Begynder
Medlem: 17.Sep.2012
Status: Offline
Point: 16
|
Sendt: 24.Sep.2012 kl. 10:06 |
Hej Allan,
helt ok, bare når du får tid....:)
PeBe
|
|