Avatar billede 3z Nybegynder
18. februar 2003 - 00:41 Der er 13 kommentarer og
2 løsninger

Makro til kopiering af felt...

Jeg skal bruge en makro til at kopiere f.eks. felt B2 til første tomme felt i kolonne C.

Dvs. der står nogle rækker tal i kolonne C. Hvis f.eks. felt C1 til C17 alle indeholder et tal, vil C18 være næste tomme felt. Makroen skal herved kopiere indholdet i felt B2 til felt C18. Næste gang makroen køres kopieres indholdet til felt C19 osv osv.

Hvordan gøres det???
Avatar billede jkrons Professor
18. februar 2003 - 08:50 #1
Du kan gøre det med følgende makro

ub Makro2()
'
' Makro2 Makro
' Makro indspillet 18-02-2003 af Jan Kronsell
'

'
    Range("B2").Select
    Selection.Copy
    Range("C1").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Activate
    ActiveSheet.Paste
End Sub
Avatar billede jkrons Professor
18. februar 2003 - 08:51 #2
Der skulle selvfølgelig have stået Sub foroven, ikke ub :-)
Avatar billede 3z Nybegynder
18. februar 2003 - 09:20 #3
Takker, men det virker desværre ikke helt...
Hvis jeg kommer til at slette nederste felt i rækken, får jeg fejl og debuggeren stopper ved denne linie:
ActiveCell.Offset(1, 0).Activate

Aller sidste felt i kolonnen 65000 bliver herved også markeret?
Avatar billede jkrons Professor
18. februar 2003 - 09:23 #4
Hvornår kommer du til at slette sidste felt - før du kører makroen?
Avatar billede jkrons Professor
18. februar 2003 - 09:25 #5
Jeg har ikke det samme problem, så jeg har nok misforstået, hvad dit problem går ud på - kan du evt. prøve at beskrive det llidt nærmere?
Avatar billede bak Forsker
18. februar 2003 - 09:31 #6
3z-> prøv denne:
Sub Kopier()
Range("b2").Copy Range("c65536").End(xlUp).Offset(1, 0)
End Sub
Avatar billede jkrons Professor
18. februar 2003 - 09:36 #7
bak-> Jeg kan se at du sparer selecterne, men bortset fra det læser dit forslag vel bare nedefra og op, hvor min læse oppefra og ned. Når jeg afprøver dem er der ellers ingen forskel - uanset hvad jeg sletter af indhold.
Avatar billede 3z Nybegynder
18. februar 2003 - 09:39 #8
Jeg kørte makroen een gang først og slettede derefter de test tal jeg havde indsat... nu bliver jeg bare smidt ned i sidste felt i kolonnen hver eneste gang :(

Prøver lige med bak's løsning...
Avatar billede jkrons Professor
18. februar 2003 - 09:45 #9
Prøv med denne kode:

Range("B2").Select
    Selection.Copy
    Range("C1").Select
    If Range("c1").Value = 0 Then
    ActiveSheet.Paste
    Else
    Range("C65536").Select
    Selection.End(xlUp).Select
    ActiveCell.Offset(1, 0).Activate
    ActiveSheet.Paste
    End If
Avatar billede bak Forsker
18. februar 2003 - 09:53 #10
det har du ret i Jkrons, Men hvis c2 er blank når din køres får man overnævnte fejl, så derfor omskrev jeg den lidt så den starter fra bunden.
Avatar billede jkrons Professor
18. februar 2003 - 09:54 #11
Enig bak-> Til gengæld skriver din aldrig i c1, hvis den er tom fra begyndelsen :-)
Avatar billede bak Forsker
18. februar 2003 - 09:56 #12
Din nye makro virker fint, Jkrons.
Avatar billede jkrons Professor
18. februar 2003 - 10:01 #13
Lyder godt ;-)
Avatar billede 3z Nybegynder
18. februar 2003 - 10:29 #14
bak smid et svar - din løsning virker ganske fortræffeligt :)
Avatar billede bak Forsker
18. februar 2003 - 11:56 #15
3z-> jeg deler gerne med jkrons :-)
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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