Hei,
olen tehnyt Excelin 2007 versiolla Ilmoitus lainanantajalle -nimiselle välilehdelle painikkeen. Painikkeeseen olen liittänyt nauhoittamani makron. Makro toimii Excelin 2007 ja 2010 versiossa, mutta ei 2003 versiossa.
Makron tehtävä: kopioida Ilmoitus lainanantajalle -välilehti uuteen tyhjään Excel-työkirjaan, poistaa välilehdeltä kolme painiketta, tallentaa työkirja käyttäjän valitsemaan paikkaan käyttäjän antamalla nimellä sekä käyttäjän antamassa tiedostomuodossa, sulkea tiedosto tallennuksen jälkeen.
Ohessa alla 2007 versiolla nauhoitettu makro. Jos teen saman nauhoituksen 2003 versiolla muuttaa "Buttonit" numeroiksi 7, 5 ja 6. Minkähänlainen koodin pitäisi olla, että toimisi myös Excelin aikaisemmissa versioissa ja muutenkin?
Sub Tallenna_ilmoitus_lainanantajalle() ' ... Sheets("Ilmoitus lainanantajalle").Select Sheets("Ilmoitus lainanantajalle").Copy ActiveSheet.Shapes("Button 5").Select Selection.Delete ActiveSheet.Shapes("Button 3").Select Selection.Delete ActiveSheet.Shapes("Button 4").Select Selection.Delete ActiveWindow.Close End Sub
Terveisin
vähäistä koodikokemusta omaava Bittinikkari
Mod. korjasi kooditagit!
Yksinkertaisin ratkaisu on ilmoittaa, että Excel 2003:a tueta.
Toiseksi helpointa olisi ehkä nauhoittaa tuo olennainen osa makrosta 2003:lla ja katsoa mitä eroa tuotoksessa on.
Kolmas vaihtoehto olisi tutkia koodia. Jos viitsit kertoa mikä virheilmoitus tulee ja miltä riviltä, niin olisi helpompi muiden antaa vinkkiä. Ainakaan itse en jaksa alkaa asentaamaan Excel 2003:sta tuon testaamiseksi.
Hei,
tuon nauhoituksen 2003 versiolla olin tehnytkin ja tutkinut eron, kuten yllä kysymyksestäni selviää. Ongelmaksi muodostui Buttonien numerot. Alla olevalla koodilla sain homman toiminimaan.
ActiveSheet.Buttons.Select
Selection.Delete
Kiitos vastauksestasi.
Hupsis ja anteeksi, olin näköjään lukenut viestisi huonosti.
Bittinikkari kirjoitti:
ActiveSheet.Buttons.Select
Selection.Delete
Vieläkin toimivampi: ActiveSheet.Buttons.Delete
Aihe on jo aika vanha, joten et voi enää vastata siihen.