Paavali, Kunde, Excelit.fi

voitko auttaa

Moi Expertit
Täällä on aikaisemmin ollut jonkun teistä kirjoittama makro " tallenna nimellä".
Onko mahdollista saada se uudelleen tänne ? ylläpito lienee poistanut.
Toivoisin kuitenkin muutosta jos onnistuu.
Tarve kahdelle makrolle
1. tallenna nimellä ja jos onnistuu sellainen joka toimii "template" mallipohjan kanssa ?
2. Jos mahdollista makrolla luoda toiseen asiakirjaan uusi rivi ja ja "templatesta" tuoda nimi millä tallenetaan ja päiväys.

Tavoite: Kun täytän mallipohjasta uutta asiakirjaa, täydentyy samalla toinen asiakirja (hakemisto). Kun teen uutta voin katsoa hakemistosta olenko jo tallentanut samalla nimellä.
XP officessa oli "template wizard" ominaisuus jolla pystyi luomaan database tiedoston, mutta office 2003 sitä ei ilmeisesti ole ? Template wizardilla pystyin suorittamaan yllämainitun toiminnon.
Etukäteen kiitos Teille

6

995

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Excelit.fi

      Joo, muistan että jossain vaiheessa laitoin listalle makron joka tallensi tiedoston soluun syötetyn tekstin nimiseksi. Ohessa makro joka tekee kyseisen toimenpiteen ja toinen makro joka tallentaa uuden tiedoston soluun syötetyn tekstin nimiseksi.

      --------------------------
      Sub TallennaTiedosto()

      Dim Nimi As String
      Nimi = Range("A1")

      If Nimi = "" Then

      MsgBox "Syötä nimi soluun A1"

      Else

      MsgBox "Tallennetaan tiedosto nimellä " & Nimi

      ChDir "C:\"
      ActiveWorkbook.SaveAs Filename:="C:\" & Nimi & ".xls", FileFormat:=xlNormal, _
      Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
      CreateBackup:=False

      End If

      End Sub

      Sub TallennaToinenTiedosto()

      Dim Nimi As String
      Nimi = Range("A2")

      If Nimi = "" Then

      MsgBox "Syötä nimi soluun A2"

      Else

      MsgBox "Luodaan uusi tiedosto ja tallennetaan tiedosto nimellä " & Nimi

      Workbooks.Add

      Range("A1").Select
      Selection.EntireRow.Insert

      MsgBox "Uusi rivi lisätty"

      ActiveWorkbook.SaveAs Filename:="C:\" & Nimi & ".xls", FileFormat:=xlNormal, _
      Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
      CreateBackup:=False

      ActiveWorkbook.Save
      ActiveWorkbook.Close

      End If

      End Sub

      • voitko auttaa

        Kiitos vastauksesta.
        Ei vielä vastannut ihan sitä mitä kaipaan, jos mahdollista vielä saada lisäapua ?
        "ykkös" makro OK.
        "kakkonen" toive on.
        - osaa avata "hakemisto" nimisen taulukon
        - lisää uuden rivin ( esim 2 riville )
        - tallentaa nimellä "hakemisto"
        - sulkee "hakemisto" taulukon.

        eli aina kun käytän mallipohjaa, ykkösmakro ottaa asiakirjan nimen vaikka solusta a1 (otso) ja lisää päivämäärän ( onnistuu ehkä a1&date )
        ja tallentaa oletushakemistoon.
        kakkosmakro avaa "hakemisto" asiakirjan ja lisää sinne uuden rivin, johon tulee soluun a2 otso, b2 päiväys.


      • Excelit.fi
        voitko auttaa kirjoitti:

        Kiitos vastauksesta.
        Ei vielä vastannut ihan sitä mitä kaipaan, jos mahdollista vielä saada lisäapua ?
        "ykkös" makro OK.
        "kakkonen" toive on.
        - osaa avata "hakemisto" nimisen taulukon
        - lisää uuden rivin ( esim 2 riville )
        - tallentaa nimellä "hakemisto"
        - sulkee "hakemisto" taulukon.

        eli aina kun käytän mallipohjaa, ykkösmakro ottaa asiakirjan nimen vaikka solusta a1 (otso) ja lisää päivämäärän ( onnistuu ehkä a1&date )
        ja tallentaa oletushakemistoon.
        kakkosmakro avaa "hakemisto" asiakirjan ja lisää sinne uuden rivin, johon tulee soluun a2 otso, b2 päiväys.

        Sub TallennaTiedosto()

        Range("B1").Select
        ActiveCell.FormulaR1C1 = "=TODAY()"

        Range("B1").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

        Dim Nimi As String
        Dim Päiväys As Date
        Dim Oletuskansio As String

        Nimi = Range("A1")
        Päiväys = ActiveCell.Value
        Oletuskansio = ActiveWorkbook.Path

        If Nimi = "" Then

        MsgBox "Syötä nimi soluun A1"

        Else

        MsgBox "Tallennetaan tiedosto nimellä " & Nimi & " " & Päiväys & ".xls"

        Application.DisplayAlerts = False

        ChDir Oletuskansio
        ActiveWorkbook.SaveAs Filename:=Oletuskansio & "\" & Nimi & " " & Päiväys & ".xls", FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False

        End If

        End Sub

        Sub TallennaToinenTiedosto()

        Dim Nimi As String
        Dim Oletuskansio As String
        Nimi = Range("A1")
        Oletuskansio = ActiveWorkbook.Path

        If Nimi = "" Then

        MsgBox "Syötä nimi soluun A1"

        Else

        ChDir Oletuskansio
        Workbooks.Open Filename:=Oletuskansio & "\Hakemisto.xls"
        Range("A2").Select
        Selection.EntireRow.Insert
        ActiveCell.FormulaR1C1 = Nimi
        Range("B2").Select
        ActiveCell.FormulaR1C1 = "=TODAY()"

        Dim Päiväys As Date
        Päiväys = ActiveCell.Value

        Range("A2:B2").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

        Range("A1").Select
        Application.CutCopyMode = False

        MsgBox "Lisätty rivi 2, solu A2 = " & Nimi & ", solu B2= " & Päiväys

        ActiveWorkbook.Save
        ActiveWorkbook.Close
        Range("A1").Select

        End If

        End Sub


      • sama
        Excelit.fi kirjoitti:

        Sub TallennaTiedosto()

        Range("B1").Select
        ActiveCell.FormulaR1C1 = "=TODAY()"

        Range("B1").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

        Dim Nimi As String
        Dim Päiväys As Date
        Dim Oletuskansio As String

        Nimi = Range("A1")
        Päiväys = ActiveCell.Value
        Oletuskansio = ActiveWorkbook.Path

        If Nimi = "" Then

        MsgBox "Syötä nimi soluun A1"

        Else

        MsgBox "Tallennetaan tiedosto nimellä " & Nimi & " " & Päiväys & ".xls"

        Application.DisplayAlerts = False

        ChDir Oletuskansio
        ActiveWorkbook.SaveAs Filename:=Oletuskansio & "\" & Nimi & " " & Päiväys & ".xls", FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False

        End If

        End Sub

        Sub TallennaToinenTiedosto()

        Dim Nimi As String
        Dim Oletuskansio As String
        Nimi = Range("A1")
        Oletuskansio = ActiveWorkbook.Path

        If Nimi = "" Then

        MsgBox "Syötä nimi soluun A1"

        Else

        ChDir Oletuskansio
        Workbooks.Open Filename:=Oletuskansio & "\Hakemisto.xls"
        Range("A2").Select
        Selection.EntireRow.Insert
        ActiveCell.FormulaR1C1 = Nimi
        Range("B2").Select
        ActiveCell.FormulaR1C1 = "=TODAY()"

        Dim Päiväys As Date
        Päiväys = ActiveCell.Value

        Range("A2:B2").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

        Range("A1").Select
        Application.CutCopyMode = False

        MsgBox "Lisätty rivi 2, solu A2 = " & Nimi & ", solu B2= " & Päiväys

        ActiveWorkbook.Save
        ActiveWorkbook.Close
        Range("A1").Select

        End If

        End Sub

        Moi ja kiitos tähänastisesta, alkaa pelittää, hiukan pientä fiksausta vielä kaipaan.
        miten saan ekan makron ottamaan nimen useammasta solusta esim. a1 ja b2 ja c2....päiväyksen olen siirtänyyt d2.
        tavoite : otso_pekka_pyörä_ päiväys.
        eli kenelle tehty = otso ( a1)
        kuka tehnyt = pekka (b2)
        mitä tehnyt = pyörä (c2)
        koska = päiväys (d2)

        ja hakemistoon tulisi sama otso_pekka_pyörä_päiväys


      • Excelit.fi
        sama kirjoitti:

        Moi ja kiitos tähänastisesta, alkaa pelittää, hiukan pientä fiksausta vielä kaipaan.
        miten saan ekan makron ottamaan nimen useammasta solusta esim. a1 ja b2 ja c2....päiväyksen olen siirtänyyt d2.
        tavoite : otso_pekka_pyörä_ päiväys.
        eli kenelle tehty = otso ( a1)
        kuka tehnyt = pekka (b2)
        mitä tehnyt = pyörä (c2)
        koska = päiväys (d2)

        ja hakemistoon tulisi sama otso_pekka_pyörä_päiväys

        Sub TallennaTiedosto()

        Range("D2").Select
        ActiveCell.FormulaR1C1 = "=TODAY()"

        Range("D2").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

        Dim Nimi As String
        Dim Kuka As String
        Dim Mitä As String
        Dim Päiväys As Date
        Dim Oletuskansio As String

        Nimi = Range("A1")
        Kuka = Range("B2")
        Mitä = Range("C2")
        Päiväys = ActiveCell.Value
        Oletuskansio = ActiveWorkbook.Path

        If Nimi = "" Then

        MsgBox "Syötä nimi soluun A1"

        Else

        MsgBox "Tallennetaan tiedosto nimellä " & Nimi & "_" & Kuka & "_" & Mitä & "_" & Päiväys & ".xls"

        Application.DisplayAlerts = False

        ChDir Oletuskansio
        ActiveWorkbook.SaveAs Filename:=Oletuskansio & "\" & Nimi & "_" & Kuka & "_" & Mitä & "_" & Päiväys & ".xls", FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False

        End If

        End Sub

        Sub TallennaToinenTiedosto()

        Range("D2").Select
        ActiveCell.FormulaR1C1 = "=TODAY()"

        Range("D2").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

        Dim Nimi As String
        Dim Kuka As String
        Dim Mitä As String
        Dim Päiväys As Date
        Dim Oletuskansio As String

        Nimi = Range("A1")
        Kuka = Range("B2")
        Mitä = Range("C2")
        Päiväys = ActiveCell.Value
        Oletuskansio = ActiveWorkbook.Path

        If Nimi = "" Then

        MsgBox "Syötä nimi soluun A1"

        Else

        ChDir Oletuskansio
        Workbooks.Open Filename:=Oletuskansio & "\Hakemisto.xls"
        Range("A2").Select
        Selection.EntireRow.Insert

        Range("A2").Select
        ActiveCell.FormulaR1C1 = Nimi & "_" & Kuka & "_" & Mitä & "_" & Päiväys

        Range("A1").Select
        Application.CutCopyMode = False

        MsgBox "Lisätty rivi 2, solu A2 = " & Nimi & "_" & Kuka & "_" & Mitä & "_" & Päiväys

        ActiveWorkbook.Save
        ActiveWorkbook.Close
        Range("A1").Select

        End If

        End Sub


      • autettu
        Excelit.fi kirjoitti:

        Sub TallennaTiedosto()

        Range("D2").Select
        ActiveCell.FormulaR1C1 = "=TODAY()"

        Range("D2").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

        Dim Nimi As String
        Dim Kuka As String
        Dim Mitä As String
        Dim Päiväys As Date
        Dim Oletuskansio As String

        Nimi = Range("A1")
        Kuka = Range("B2")
        Mitä = Range("C2")
        Päiväys = ActiveCell.Value
        Oletuskansio = ActiveWorkbook.Path

        If Nimi = "" Then

        MsgBox "Syötä nimi soluun A1"

        Else

        MsgBox "Tallennetaan tiedosto nimellä " & Nimi & "_" & Kuka & "_" & Mitä & "_" & Päiväys & ".xls"

        Application.DisplayAlerts = False

        ChDir Oletuskansio
        ActiveWorkbook.SaveAs Filename:=Oletuskansio & "\" & Nimi & "_" & Kuka & "_" & Mitä & "_" & Päiväys & ".xls", FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False

        End If

        End Sub

        Sub TallennaToinenTiedosto()

        Range("D2").Select
        ActiveCell.FormulaR1C1 = "=TODAY()"

        Range("D2").Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False

        Dim Nimi As String
        Dim Kuka As String
        Dim Mitä As String
        Dim Päiväys As Date
        Dim Oletuskansio As String

        Nimi = Range("A1")
        Kuka = Range("B2")
        Mitä = Range("C2")
        Päiväys = ActiveCell.Value
        Oletuskansio = ActiveWorkbook.Path

        If Nimi = "" Then

        MsgBox "Syötä nimi soluun A1"

        Else

        ChDir Oletuskansio
        Workbooks.Open Filename:=Oletuskansio & "\Hakemisto.xls"
        Range("A2").Select
        Selection.EntireRow.Insert

        Range("A2").Select
        ActiveCell.FormulaR1C1 = Nimi & "_" & Kuka & "_" & Mitä & "_" & Päiväys

        Range("A1").Select
        Application.CutCopyMode = False

        MsgBox "Lisätty rivi 2, solu A2 = " & Nimi & "_" & Kuka & "_" & Mitä & "_" & Päiväys

        ActiveWorkbook.Save
        ActiveWorkbook.Close
        Range("A1").Select

        End If

        End Sub

        Moi
        Kiitos Excelitille
        makro toimii, hiukan muutin solu osoitteita, mutta nyt pelittää...


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      37
      3645
    2. Riikka Purran kaudella nousi bensan hinta yli 2 euron

      Muistatteko kuinka edellisen vasemmistohallituksen aikana, ns. Marinin aikakaudella, bensiiniä sai 1,3 euron litrahinnal
      Maailman menoa
      25
      3202
    3. Jäikö meidän välit

      Mielestäsi Kesken?
      Ikävä
      65
      2845
    4. Olisipa saanut sinuun

      Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak
      Ikävä
      79
      2633
    5. Miks tän meidän

      Rakkauden on pitänyt olla näin vaikeaa?
      Ikävä
      35
      1718
    6. Mitäs nyt sijoittajat?

      Pörssit laskevat maailmalla Iranin sodan takia ja muutenkin ovat olleet Trumpin vallan alla epävarmat. Ainoa, mikä on no
      Maailman menoa
      80
      1660
    7. Elän vastoin

      Kaikkia arvoja kun en pysy sinusta erossa.
      Ikävä
      28
      1487
    8. muista olla

      VAROVAINEN! m
      Ikävä
      15
      1455
    9. Olisitpa se hellä

      Ja herkkä minkä kuvan sain sinusta irl. Haluaisin että elämässäni olisi sellainen joka arvostaa minua juuri sellaisena k
      Ikävä
      23
      1444
    10. Onneksi on edes yksi kuva

      Susta mitä voin välillä ihastella ja kaipailla sua😔
      Ikävä
      27
      1415
    Aihe