Excelistä päivittäin rivitieto toiseen exceliin

Minulle tulee päivittäin useampi excel-raportti, jossa on yhdellä rivillä päivämäärä ja erilaisia lukuja/tekstiä eri sarakkeissa. Saisiko tämän siirtymään ns. vuosiraporttiin jollain helpommalla keinolla kuin perinteisellä copypastella käsin?
4984
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Siirrä data tietokantaan. josta voi tehdä kyselyjä ja raportin vaikka Exceliin.

Äänestä

Jos sinulle tulevat raportit on tehty aina samalle pohjalle, eikä sen täyttäjät käytä sitä selaimella, täytettävään pohjaan voi lisätä makron joka kopioi raportin avatessasi sen rivin vuosiraporttiisi. Muussa tapauksessa taitaa olla vaikea keksiä tapaa, joka olisi copy-pastea yksinkertaisempi.

Äänestä
  • Tuollainen kuulostaisi hyvälle ja mahdollista varmaankin toteuttaa, mutta ei oo makrot vahvinta alaa. Minkälainen makro osaa lisätä rivin vuosiraportin jatkoksi oikealle riville?

    Äänestä

  • Anonyymi kirjoitti:

    Tuollainen kuulostaisi hyvälle ja mahdollista varmaankin toteuttaa, mutta ei oo makrot vahvinta alaa. Minkälainen makro osaa lisätä rivin vuosiraportin jatkoksi oikealle riville?

    Raportin moduliin ThisWorkbook tulisi tämmöinen makro. Se ajetaan aina, kun raportti avataan ja tietty rivi kopioidaan vuosiraporttiin, mikäli sellainen on ja annat luvan.

    Private Sub Workbook_Open()

    vuosiraportti = "C:\temp\excel\vuosiraportti.xlsx"
    If Dir(vuosiraportti) = "" Then Exit Sub ' Ei tehdä mitään, jos vuosiraporttia ei löydy

    Set tämä = ThisWorkbook
    sivu = "Sheet1" ' Raportin välilehti
    vrSivu = "Sheet1" ' Vuosiraportin välilehti
    vrSarake = "A" ' Vuosiraportin sarake, johon liitetään
    kopioitava = "A5:G5" ' Raportista Vuosiraporttiin kopioitava alue

    If MsgBox("Liitetäänkö vuosiraporttiin?", vbYesNo) = vbYes Then
    On Error GoTo err:
    Application.ScreenUpdating = False
    Set vr = Workbooks.Open(Filename:=vuosiraportti)
    With vr.Sheets(vrSivu)
    ' Haetaan vapaa rivi.
    ' Oletus: liitettävä rivin jälkeen ei ole mitään
    vrRivi = .Cells(.Rows.Count, vrSarake).End(xlUp).Row 1

    ' Jos vuosiraportissa olisi sisältöä vielä siihen liitettävien rivien jälkeen,
    ' ensimmänen tällainen rivi on nimetty "muuta" ja vapaa rivi haetaan sen yläpuolelta.
    ' vrRivi = .Cells(.Range("muuta").Row, vrSarake).End(xlUp).Row 1

    .Rows(vrRivi).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

    tämä.Sheets(sivu).Range(kopioitava).Copy
    .Range(vrSarake & vrRivi).PasteSpecial xlPasteValues
    End With
    vr.Save
    vr.Close False
    End If
    err:
    Application.ScreenUpdating = True
    End Sub

    Äänestä

Kommentoi aloitusta


Anonyymi kirjoitti:

Minulle tulee päivittäin useampi excel-raportti, jossa on yhdellä rivillä päivämäärä ja erilaisia lukuja/tekstiä eri sarakkeissa. Saisiko tämän siirtymään ns. vuosiraporttiin jollain helpommalla keinolla kuin perinteisellä copypastella käsin?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu