Avatar billede familienriis Nybegynder
15. marts 2008 - 16:43 Der er 6 kommentarer og
1 løsning

køre en makro i flere linier indenfor et given område

I kolonne F har jeg nogle tal stående.Feks. 20
Hver tal står der 2 gange. En gang som viser "starten" af en gruppe og så en gang til for at vise "slutningen" af gruppen.

Det er forskelligt hvilken linie de forskellige tal/gruppe står i. Da der hele tiden bliver indsat eller slettet linier.

Jeg har brug for en makro der render kolonne F igennem og finder den første linie der har tallet 20 stående.

Herefter skal den kopiere indeholdet fra kolonne H til kolonne C i alle række der er nedenfor, indtil vi kommer til den linie der indeholder tallet 20 i kolonne F igen.

Hvis det kan lade sig gøre skal den ikke kopiere celler i hverken den linie der indeholder 20 som start eller den linieholder 20 som slut, men kun rækkerne ind i mellem.

Nogle gange står tallet "20" i to linier lige under hinanden. I dette tilfældet skal den bare exit sub, da der ikke er nogle linier imellem.
Avatar billede excelent Ekspert
15. marts 2008 - 18:41 #1
Sub xCopy()
Sheets("Ark1").Select
tal = InputBox("Indtast tal ")
rk = Cells(65000, "F").End(xlUp).Row
Range("F1:F" & rk).Find(tal, LookIn:=xlValues).Select
x1 = ActiveCell.Row
Range("F" & x1 & ":F" & rk).Find(tal, LookIn:=xlValues).Select
x2 = ActiveCell.Row
If x2 - x1 > 1 Then
Range("H" & x1 + 1 & ":H" & x2 - 1).Copy Range("C" & x1 + 1)
End If
End Sub
Avatar billede familienriis Nybegynder
15. marts 2008 - 20:43 #2
ja, den gør jo faktisk det jeg bad om :-)
Jeg troede at jeg selv kunne sætte lidt ekstra kode ind i den du har lavet til mig, men det magter jeg ganske enkelt ikke.

Inden koden kører er kolonnerne A:E flettet
Det skal nulstilles , så der ikke er nogen celler der er flettet. Herefter skal det ændres til at det kun er kolonne A:B der skal flettes.

Ændringen af fletningen skal kun ske inden for det område der er afgrænset af f.eks. 20

Jeg troede at den kode der blev lavet var noget med:
for each cell in range......
Men det var der jo slet ikke noget af. Så nu er jeg lidt på den.

Du har jo ærlig fortjent pointene, og dem får du selvfølgelig, men jeg vil lige høre om du vil hjælpe med at få det sidste på plads.
Avatar billede excelent Ekspert
15. marts 2008 - 21:43 #3
Er det et stort område eller hver række for sig der er flettet?
Avatar billede familienriis Nybegynder
15. marts 2008 - 21:55 #4
det er hver række hver for sig der er flettet.
Og det er hver række for sig der flettes igen.
Avatar billede excelent Ekspert
15. marts 2008 - 22:28 #5
Sub xCopy()
Sheets("Ark1").Select
tal = InputBox("Indtast tal ")
rk = Cells(65000, "F").End(xlUp).Row
Range("F1:F" & rk).Find(tal, LookIn:=xlValues).Select
x1 = ActiveCell.Row
Range("F" & x1 & ":F" & rk).Find(tal, LookIn:=xlValues).Select
x2 = ActiveCell.Row
If x2 - x1 > 1 Then
Range("A" & x1 + 1 & ":E" & x2 - 1).UnMerge
Range("H" & x1 + 1 & ":H" & x2 - 1).Copy Range("C" & x1 + 1)
For t = x1 + 1 To x2 - 1
Range("A" & t & ":B" & t).Merge
Next
End If
End Sub
Avatar billede familienriis Nybegynder
15. marts 2008 - 22:54 #6
Yes. Fuldstændig som det skal være.
Jeg takker mange gange for den hurtige respons

HAr du et svar, så har jeg points.
Avatar billede excelent Ekspert
15. marts 2008 - 23:30 #7
ok velbekom
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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



IT-JOB

LB Forsikring

Salesforce udvikler

Udviklings- og Forenklingsstyrelsen

Karrieremulighed inden for cybersikkerhed

Cognizant Technology Solutions Denmark ApS

Test Manager