Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Excel VBA-koodi

Bittinikkari [21.11.2012 11:02:49]

#

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!

Grez [21.11.2012 11:28:42]

#

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.

Bittinikkari [22.11.2012 23:14:44]

#

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.

Grez [23.11.2012 10:58:14]

#

Hupsis ja anteeksi, olin näköjään lukenut viestisi huonosti.

Hycke [23.11.2012 16:52:45]

#

Bittinikkari kirjoitti:

ActiveSheet.Buttons.Select
Selection.Delete

Vieläkin toimivampi: ActiveSheet.Buttons.Delete

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta