Avatar billede PGFfyn Mester
05. december 2019 - 16:14 Der er 4 kommentarer

Paste

Hej.
Denne makro afleverer de formler som den kopierer til destinationen, og kan man ændre den så den aflever tal og bogstaver (values) i stedet.

st = ActiveCell.Address
    sl = ActiveCell.Offset(0, 8).Address
    S?gKontoNr = ActiveCell.Offset(0, 3)
   
        kol = Range("r5:Ahd5").Find(What:=S?gKontoNr).Column
       
        ActiveSheet.Range(st & ":" & sl).Copy _
    Destination:=Range(Cells(Rows.Count, kol).End(xlUp).Offset(1, 0).Address)
        n?ste = n?ste + 1
Avatar billede Juul Forsker
06. december 2019 - 08:56 #1
Jeg ville nok ændre lidt i koden, da du pt. blot flytter kolonnerne. Du har nok brug for at lave en hard copy/pastevalues..
Avatar billede PGFfyn Mester
06. december 2019 - 10:33 #2
OK - hvad ville du foreslå den blev ændret til.
Kan sige at det er udkontering af en kasserapport til kontokort - så ja der er tale om en flytning.
Avatar billede Juul Forsker
06. december 2019 - 10:45 #3
Har nok brug for at se hele koden :)
Avatar billede PGFfyn Mester
06. december 2019 - 11:22 #4
Hej igen.
Det jeg muligvis gør hvis der ikke er en "nem" løsning, vil være at lave en kopi af rapporten uden formler, og lave udkontering derfra, men her er koden der udlægger med formler - og det resultat er lige til skrældespanden - men den kører hurtig og sikkert.

Dim n?ste As Integer
svar = MsgBox("          Er du sikker p? at du vil bogf?re?", vbYesNo)
If svar = vbYes Then

Application.ScreenUpdating = False

ActiveWorkbook.SaveAs Filename:="C:\users\povl\desktop\Kasse ej bogf"

Call Overf?rMoms

Call PrintKasse

Call KasseUdenFormler

Application.Calculation = xlManuel


n?ste = 1
   
    Do Until Range("g155").Value = n?ste
      Range("o160").Offset(n?ste, 0).Select
           
        st = ActiveCell.Address
    sl = ActiveCell.Offset(0, 8).Address
    S?gKontoNr = ActiveCell.Offset(0, 3)
   
        kol = Range("AB5:AhN5").Find(What:=S?gKontoNr).Column
       
        ActiveSheet.Range(st & ":" & sl).Copy _
    Destination:=Range(Cells(Rows.Count, kol).End(xlUp).Offset(1, 0).Address)
        n?ste = n?ste + 1
    Loop
   
    Call GEMBogf?rt

    Else
   
    End If
   
    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True
   
    Range("a7").Select
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