Avatar billede s_kjaer Praktikant
01. december 2004 - 14:10 Der er 5 kommentarer og
1 løsning

Kopiere data til tomme celler i samme række

Hej

Jeg er stadig igang med at konvertere regneark fra Lotus 1-2-3 til Excel.
I Lotus var der en funktion der tager indholdet i den celle, der er markeret når man starter macroen, og kopiere det til de efterfølgende celler i samme række. Macroen skal stoppe og gå to tilbage hvis der står et andet tal.

Søren


Hvordan er det lige at jeg får det lavet i Excel.
Avatar billede fobian Nybegynder
03. december 2004 - 09:36 #1
Prøv at sætte denne kode ind i et modul i VBA. Placer dig i den ønskede celle og afspil macroen (Alt+F8)

Sub Udfyldrække()
    With Selection
        .AutoFill Destination:=Range(Cells(.Row, .Column), Cells(.Row, .End(xlToRight).Column - 2)), Type:=xlFillDefault
    End With
End Sub
Avatar billede s_kjaer Praktikant
03. december 2004 - 16:45 #2
Det virker næsten perfekt. Er det muligt, at efter man efter macroen har kørt "står" i den sidste tomme celle før der kommer et andet tal? Altså hvis man skal kopiere tallet fra A1, og der står et nyt tal i N1, så skal cellen M1 markeres efter macroen har kørt.
Avatar billede fobian Nybegynder
04. december 2004 - 15:56 #3
Sådan :o)

Sub Udfyldrække()
    With Selection
        .AutoFill Destination:=Range(Cells(.Row, .Column), Cells(.Row, .End(xlToRight).Column - 2)), Type:=xlFillDefault
        Cells(.Row, .End(xlToRight).Column + 1).Select
    End With
End Sub
Avatar billede s_kjaer Praktikant
04. december 2004 - 17:35 #4
Øv. opdagede lige et nyt problem hvis man kommer til at aktivere macroen, hvor der kun er et tomt felt melder den fejl og åber VBA.
Kan man ikke lave noget lign dette.

Sub Udfyldrække()
If Cells(de næste 2 celler) =0 Then
    With Selection
        .AutoFill Destination:=Range(Cells(.Row, .Column), Cells(.Row, .End(xlToRight).Column - 2)), Type:=xlFillDefault
        Cells(.Row, .End(xlToRight).Column + 1).Select
    End With
End Sub

Men hvordan er det lige man får den til at "se" på de næste  2 celler i den samme række?

Jeg ved godt, at jeg er besværlig, men arket skal bruges af mange forskellige brugere, der ved minder en VBA end mig.

Søren
Avatar billede s_kjaer Praktikant
04. december 2004 - 21:09 #5
Jeg har selv fået løst problemet, og den brugbare kode ser således ud:

Sub Udfyld_række()
    If ActiveCell.Next = 0 Then
          With Selection
        .AutoFill Destination:=Range(Cells(.Row, .Column), Cells(.Row, .End(xlToRight).Column - 2)), Type:=xlFillDefault
        Cells(.Row, .End(xlToRight).Column + 1).Select
    End With
    End If
End Sub
Takker for hjælpen
Avatar billede fobian Nybegynder
05. december 2004 - 11:36 #6
Godt at se, at du lige fik klaret den sidste forhindring - Takker for point :o)
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