Makro lisää uusi rivi

Ratkaisua ongelmaan kaivataan rivitietona täytettävään taulukkoon.

Excel taulukko jossa rivillä yksi on sarakkeiden otsikot,rivillä kaksi on soluissa muotoiluja mm. valintalistoja.Riville yksi on (solu C1)sijoitettu painonappi (makro) LISÄÄ UUSI RIVI, jolloin makro kopioi riviltä kaksi soluista muotoilut ja lisää uuden rivin (rivi 3), johon uudet tiedot täytetään.. Näin toimien ylimmäisenä aina uusin rivitieto. Rivi kaksi on piilotettu ettei kukaan sössi muotoiluja. MUTTA siitä huolimatta joku aina kaivaa sen esille ja värkkää omia muotoiluja.

Kysymys: Miten rivin 1 ja 2 solujen muotoilut voi lukita niin, että makro vielä toimii ? Olen yrittänyt suojata rivin 1 ja 2 solut > muotoile solut > suojaus > lukitse ja sitten suojannut salasanalla laskentataulukon, mutta samalla LISÄÄ UUSI RIVI makro lakkaa toimimasta. Heti kun poistaa lukituksen/suojauksen painonappi pelittää taas.

Labor improbus omnia vincit
62078
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Laita makroon ennen rivinlisäyskoodia seuraava koodi joka poistaa suojauksen salasanalla "suojaus":

ActiveSheet.Unprotect Password:="suojaus"

ja vastaavasti rivinlisäyskoodin jälkeen koodi joka suojaa taulukon uudestaan:

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="suojaus"

Äänestä
  • Suuret kiitokset ohjeesta. Toimii muuten ihan OK, mutta suojaa uuden lisätyn (kopioidun)rivin 3 solut niin ettei tietoja pääse lisäämään.

    Olisiko hyvä idea koittaa tehdä niin, että lisää rivi -napin painallus avaa rivien 1 ja 2 suojauksen ja kun aktivoit uuden kopioidun rivin 3 solun A3 ja lisäät tiedot, jonka jälkeen poistuttaessa solusta A3, makro suojaa sitten vasta uudelleen rivit 2 ja 3.

    Sitten olisi toinen kysymys jos vielä jaksaisit jeesata. Kun julkaisen laaditun excel taulukon htm -muodossa (tallenna Web -sivuna, koko työkirja, lisää vuorovaikutteisuus), niin avattaessa taulukko selaimeen on excelistä ilmeisesti kopioitunut taulukon yläreunaan mm. suodata ja lajittele työkalut. Minulla ne vaan pysyvät harmaana eivätkä toimi, mutta kaverin koneessa ne aktivoituvat ja toimivat moitteetta. En löydä asetuksia mistä niihin pääsisi käsiksi.

    Äänestä

  • Hercules kirjoitti:

    Suuret kiitokset ohjeesta. Toimii muuten ihan OK, mutta suojaa uuden lisätyn (kopioidun)rivin 3 solut niin ettei tietoja pääse lisäämään.

    Olisiko hyvä idea koittaa tehdä niin, että lisää rivi -napin painallus avaa rivien 1 ja 2 suojauksen ja kun aktivoit uuden kopioidun rivin 3 solun A3 ja lisäät tiedot, jonka jälkeen poistuttaessa solusta A3, makro suojaa sitten vasta uudelleen rivit 2 ja 3.

    Sitten olisi toinen kysymys jos vielä jaksaisit jeesata. Kun julkaisen laaditun excel taulukon htm -muodossa (tallenna Web -sivuna, koko työkirja, lisää vuorovaikutteisuus), niin avattaessa taulukko selaimeen on excelistä ilmeisesti kopioitunut taulukon yläreunaan mm. suodata ja lajittele työkalut. Minulla ne vaan pysyvät harmaana eivätkä toimi, mutta kaverin koneessa ne aktivoituvat ja toimivat moitteetta. En löydä asetuksia mistä niihin pääsisi käsiksi.

    Vastaan tuohon web juttuun itse eli aikani tutkittuani ongelma, saattaa johtua xp officen käyttöoikeusrajoituksista firman koneessa ja taulukko tulee Office Web Componentilla vain tarkastelukäyttöön.

    Äänestä

Ekalla rivillä siis otsikot ja komentopainike?
Voi olla siis lukittu?
Poista lukitus komentopainikkeesta.

Sub Suojaa()
ActiveSheet.Unprotect Password:="suojaus"
Rows("2:2").Locked = False
Rows("2:2").Copy
With Rows("3:3")
.Insert Shift:=xlDown
.Locked = False
End With
Application.CutCopyMode = False
Rows("4:4").Locked = True
Rows("2:2").Locked = True
ActiveSheet.Protect Password:="suojaus", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Äänestä
  • Sub Suojaa()
    ActiveSheet.Unprotect Password:="suojaus"
    Rows("2:2").Locked = False
    Rows("2:2").EntireRow.Hidden = False
    Rows("2:2").Copy
    With Rows("3:3")
    .Insert Shift:=xlDown
    .Locked = False
    End With
    Application.CutCopyMode = False
    Rows("4:4").Locked = True
    Rows("2:2").Locked = True
    Rows("2:2").EntireRow.Hidden = True
    ActiveSheet.Protect Password:="suojaus", DrawingObjects:=True, Contents:=True, Scenarios:=True
    End Sub

    Äänestä

  • Kunde kirjoitti:

    Sub Suojaa()
    ActiveSheet.Unprotect Password:="suojaus"
    Rows("2:2").Locked = False
    Rows("2:2").EntireRow.Hidden = False
    Rows("2:2").Copy
    With Rows("3:3")
    .Insert Shift:=xlDown
    .Locked = False
    End With
    Application.CutCopyMode = False
    Rows("4:4").Locked = True
    Rows("2:2").Locked = True
    Rows("2:2").EntireRow.Hidden = True
    ActiveSheet.Protect Password:="suojaus", DrawingObjects:=True, Contents:=True, Scenarios:=True
    End Sub

    Ei ollut aivan sitä mitä haimme, mutta saimme siitä apuja niin, että saatiin ongelmaamme värkätty toimima makro.

    Äänestä

Kommentoi aloitusta


Hercules kirjoitti:

Ratkaisua ongelmaan kaivataan rivitietona täytettävään taulukkoon.

Excel taulukko jossa rivillä yksi on sarakkeiden otsikot,rivillä kaksi on soluissa muotoiluja mm. valintalistoja.Riville yksi on (solu C1)sijoitettu painonappi (makro) LISÄÄ UUSI RIVI, jolloin makro kopioi riviltä kaksi soluista muotoilut ja lisää uuden rivin (rivi 3), johon uudet tiedot täytetään.. Näin toimien ylimmäisenä aina uusin rivitieto. Rivi kaksi on piilotettu ettei kukaan sössi muotoiluja. MUTTA siitä huolimatta joku aina kaivaa sen esille ja värkkää omia muotoiluja.

Kysymys: Miten rivin 1 ja 2 solujen muotoilut voi lukita niin, että makro vielä toimii ? Olen yrittänyt suojata rivin 1 ja 2 solut > muotoile solut > suojaus > lukitse ja sitten suojannut salasanalla laskentataulukon, mutta samalla LISÄÄ UUSI RIVI makro lakkaa toimimasta. Heti kun poistaa lukituksen/suojauksen painonappi pelittää taas.

Labor improbus omnia vincit

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