Käytössä on Excel 2003 ja olen tehnyt taulukkopohjan, joka laskee automaattisesti liitettävien tietojen perusteella tietyt laskutoimitukset.
Eli: Tarkoitus on muualta nettitilastosta tms copy-paste tyylillä liittää lukuja excel-taulukkoon ja sitten viereisissä soluissa olevat kaavat laskevat tietyt jutut.
Jotta tiedot tulisivat siististi, joudun liittämään ne html-muodossa - tekstimuodossa liittämällä ei rivit mene oikein.
Haaste on tämä:
jos haluan suojata laskentakaavan solut lukitsemalla ne ja suojaamalla taulukko, html-muotoinen liittäminen tarkoitetulle alueelle onnistuu tasan yhden kerran, koska se muuttaa solut lukituiksi.
Voiko sen estää?
Eli: Tarkoitus on muualta nettitilastosta tms copy-paste tyylillä liittää lukuja excel-taulukkoon ja sitten viereisissä soluissa olevat kaavat laskevat tietyt jutut.
Jotta tiedot tulisivat siististi, joudun liittämään ne html-muodossa - tekstimuodossa liittämällä ei rivit mene oikein.
Haaste on tämä:
jos haluan suojata laskentakaavan solut lukitsemalla ne ja suojaamalla taulukko, html-muotoinen liittäminen tarkoitetulle alueelle onnistuu tasan yhden kerran, koska se muuttaa solut lukituiksi.
Voiko sen estää?
Vastaukset 3
Vanhimmat
... 'allow users to edit ranges' -tyyppisessä suojauksessa paste toimii enemmän kuin kerran. Kokeile sillä!
Sorry mulla on englannin kielinen Excel, mutta vastaava komento löytyy sieltä samasta paikasta josta asetetaan taulukolle suojaus.
Tuo allow users to edit ranges kai on sama kuin "Salli käyttäjien muokata alueita"? ja siellä voi maalata alueen, jota on tarkoitus muokata.
Kokeilin sitä kyllä, mutta ei vaikuta kun liittää HTML-muotoista dataa, se näyttää voittavan Excelin asetukset ja muuttaa suojauksista huolimatta solut lukituiksi, jonka jälkeen niihin soluihin en tosiaan enää pääse klikkaamaan enkä uudestaan liittämään ellen poista suojausta.
Tekstinä uudestaan liittäminenkin kyllä näyttää onnistuvan, mutta ei siis html:nä. Tekstinä liittämisessä vaan on se, että taulukoiden rakenne hajoaa: vaakarivin otsikko ja sillä olevat luvut menevät eri riveille.
taulukon moduuliin ...
muuta alue ja salasana sopivaksi
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
ActiveSheet.Unprotect Password = "kunde"
Range("A1:A10").Locked = False
ActiveSheet.Protect Password = "kunde"
End If
End Sub