.."nyt se on kiinni ja nyt se on auki"..

Eli, mikä on paras tai kätevin keinio ottaa vb-makro käyttöön tai pois päältä?

Ajatus olisi, että painonapilla voisi valita makron päälle ja käyttää sen tuomia ja tarjoamia ominaisuuksia. Tarpeen jälkeen sen voisi toisella painonapilla ottaa pois käytöstä ja käyttää exceliä ns. "normaaliin tapaan" -kuin makroa ei olisi olemassakaan.

Toisin sanoen;
makro päälle -nappi
makro pois päältä -nappi
8195
Äänestä

Muut lukivat myös

Vastaukset 8

Vanhimmat

Laita sivulle CheckBox "Käytä makroja" ja makrojen koodit IF-lauseeseen.

Sub Makro()
If CheckBox1.Value Then

koodi

End If
End Sub

Äänestä

Kiitos, pitänee treenata.

Miten olis oikea tapa toteuttaa tuo CheckBoxin toiminta, kun vb-koodilla on samaan aikaan useita toimintoja toteutettu tyyliin: target "sitä", target "tätä", target "tota" ?
Pystyykö siis noita eri toimintoja poimimaan erikseen päälle/pois CheckBoxilla?

Äänestä
  • Sinulla on Worksheet_Change, Worksheet_SelectionChange aliohjelma jotka päivittää sivun sistätöä? Varmaankin toimisi, että teet monta CheckBox:ia, joilla valitset käytössä olevat toiminnot. Aliohjelmassa olisi vastaavat if-lauseet. Jos toiminnoilla on jokin hierarkia ("sitä" ei voi tehdä ilman "tätä"), on tämä hyvä ottaa huomioon CheckBox:ien toiminnoissa ("sitä" on ei voi valita ellei "tätä" ole valittu, tai jos valitset "sitä", myös "tätä" tulee valituksi)

    Äänestä

Joo kyllä näyttäisi Worksheet_SelectionChange olevan.
Jos jummarsin oikein tekstisi, niin en voi siis poimia "koodin seasta" yksittäistä toimintoa ja ohjata sitä CheckBoxilla.
Kokeilinkin koko vb koodin poistamista ja taas sen lisäämistä takaisin makrolla. En saanut toimimaan, eikä se varmaan voikaan onnistua. Ehkä.

Äänestä

Joo onnistuihan se. Tänks ohjeesta.
Taas kannatti udella täältä. :)

Äänestä
  • 2 viikkoa taas oltu bannissa, joten eipähän oo voinut vastailla...
    worksheetin aatapahtuma makroissa voi hyvinkin tsekata erilaisia tapahtumia. Esim. jos solun arvo muuttuu jne.

    turha siihen mitään checkboxeja on sotkea vaan käyttää solun arvoja(kaavojen tuloksia)
    Worksheetin eri tapahtumamakroissa esim. jos A1 muuttuu ja B1arvoaa tsekataan eri toimintaa varten...

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing And Range("B1") = 1 Then
    MsgBox "suoritetaan makrojutut 1"
    End If
    If Not Intersect(Target, Range("A1")) Is Nothing And Range("B1") = 2 Then
    MsgBox "suoritetaan makrojutut 2"
    End If
    End Sub

    Keep EXCELing
    @Kunde

    Äänestä

  • Kundepuu kirjoitti:

    2 viikkoa taas oltu bannissa, joten eipähän oo voinut vastailla...
    worksheetin aatapahtuma makroissa voi hyvinkin tsekata erilaisia tapahtumia. Esim. jos solun arvo muuttuu jne.

    turha siihen mitään checkboxeja on sotkea vaan käyttää solun arvoja(kaavojen tuloksia)
    Worksheetin eri tapahtumamakroissa esim. jos A1 muuttuu ja B1arvoaa tsekataan eri toimintaa varten...

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing And Range("B1") = 1 Then
    MsgBox "suoritetaan makrojutut 1"
    End If
    If Not Intersect(Target, Range("A1")) Is Nothing And Range("B1") = 2 Then
    MsgBox "suoritetaan makrojutut 2"
    End If
    End Sub

    Keep EXCELing
    @Kunde

    Mikä vika CheckBoxeissa on?

    Äänestä

comppaan "pimpelipompelia".. mitä vikaa CB:ssa on. kundepuulla on varkulla joku ajatus tuossa, jota en hokaa. millä muuten noita ohjataan.. en kait hokaa niitä?
toi CB toimii mulla näppärästi, ton kundenkin vois haluta toimimaan, mut miten?

Äänestä

Kommentoi aloitusta


päälle / pois kirjoitti:

Eli, mikä on paras tai kätevin keinio ottaa vb-makro käyttöön tai pois päältä?

Ajatus olisi, että painonapilla voisi valita makron päälle ja käyttää sen tuomia ja tarjoamia ominaisuuksia. Tarpeen jälkeen sen voisi toisella painonapilla ottaa pois käytöstä ja käyttää exceliä ns. "normaaliin tapaan" -kuin makroa ei olisi olemassakaan.

Toisin sanoen;
makro päälle -nappi
makro pois päältä -nappi

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