Paavali, Kunde, Excelit.fi

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
61002
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

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

Äänestä
  • 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.

    Äänestä

  • 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

    Äänestä

  • 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

    Äänestä

  • 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

    Äänestä

  • 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ää...

    Äänestä

Kommentoi aloitusta


voitko auttaa kirjoitti:

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

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