Print side | Luk vindue

Hurtig makro

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=894
Udskrevet den: 18.Maj.2024 kl. 08:17


Emne: Hurtig makro
Besked fra: PeBe
Emne: Hurtig makro
Posteringsdato: 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



Svar:
Besked fra: Allan
Posteringsdato: 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


Besked fra: PeBe
Posteringsdato: 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


Besked fra: Allan
Posteringsdato: 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
 
 


Besked fra: PeBe
Posteringsdato: 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


Besked fra: Allan
Posteringsdato: 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


Besked fra: PeBe
Posteringsdato: 21.Sep.2012 kl. 07:30
Hej Allan
 
super, tak for hjælpen....
 
Hilsen
PeBe


Besked fra: Allan
Posteringsdato: 21.Sep.2012 kl. 09:46
Velbekomme PeBe Wink
 
//Allan


-------------
MVH

Allan
https://www.excel-regneark.dk" rel="nofollow - Excel-regneark.dk - Gratis skabeloner til Excel
Få over 120 ekstra funktioner med Danmarks bedste add-in


Besked fra: PeBe
Posteringsdato: 21.Sep.2012 kl. 12:23
Hej Allan,
 
fik du min meddelelse i privaten ?
 
Hilsen
PeBe


Besked fra: Allan
Posteringsdato: 21.Sep.2012 kl. 17:09
Ja, det gjorde jeg.
Jeg har blot ikke haft tid til at se på den.

//Allan


Besked fra: PeBe
Posteringsdato: 24.Sep.2012 kl. 10:06
Hej Allan,
 
helt ok, bare når du får tid....:)
 
PeBe



Print side | Luk vindue