Worksheet_Change kummallisuus

15+4

Taulukosta käytetetään kulloinkin merkityn sarakkeen (C - K) tietoja. Käytettävä sarake merkitään x:llä riville 7 ja tieto merkitystä sarakkeesta on solussa B7 =MATCH("x";A7:K7). Oheisen makron pitäisi pitää huoli siitä, että vain yksi sarake voi olla kerrallan merkittynä. Ennen tämä on toiminutkin, mutta nyt se antaa Circular Reference -virheilmoituksia.

Virheilmoitus poistuu, kun muutan solun C7 kaavan =MATCH("x";C7:K7) 2 (tai poistan sen kokonaan), mutta sen jälkeen makron toiminta muuttuu: Se poistaa vanhan merkinnän vasta toisella yrittämällä. Jos painan tyhjässä solussa Del-näppiä, solu tulee merkityksi.

Makro toimii tyhjään pohjaan kopioituna oikein.

Private Sub Worksheet_Change(ByVal Target As Range)

  Application.Calculation = xlManual
  Application.EnableEvents = False

  If Target.Row = 7 And Target.Column > 2 And Target.Column < 12 Then
    For i = 3 To 11
      Cells(7, i) = ""
    Next i
    Target.Value = "x"
  End If

  Application.EnableEvents = True
  Application.Calculation = xlAutomatic
End Sub

5

210

Äänestä

    Vastaukset 5

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • muuta kaavasi =MATCH("x";C7:K7)

    • 15+4

      Kuten mainitsin, tämä poistaa kyllä virheilmoituksen, mutta makro toimii sen jälkeen väärin. En keksi tälle mitään järjellistä syytä.

      • ei se noin voikaan toimia, kun ei mikään muutu
        vaihda tapahtuma

        Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not Intersect(Range("C7:K7"), Target) Is Nothing Then
        Range("C7:K7") = ""
        Target = "x"
        Range("B7") = Target.Column
        End If
        End Sub

        Keep EXCELing
        @Kunde


    • 15+4

      Esittämäsi makro näyttää paljon fiksummalta, mutta toimii minulla tasan samalla tavalla väärin kuin omanikin:

      Ruksi on lähtötilanteessa vaikka sarakkeessa C. Kun merkkaan sen sarakkeeseen D, on ruksit ensin molemmissa sarakkeissa. Kun toistan saman uudelleen saan ruksin jäämään vain sarakkeeseen D. Jos en yritä toista keraa samaa, vaan siirryn E:hen, ruksi poistuu C:stä, mutta jää D:hen. Edellinen paikka jää siis jostain kumman syystä muistiin. Saan ruksin heti ensimmäisellä kerralla pelkästään haluttuun sarakkeeseen vain, jos painan Del-nappia tässä sarakkeessa.

      Jos makro toimii tyhjässä pohjassa, miksi se ei toimi tässä vanhassa ja miksi se on ennen toiminut. Kyseisen sivun modulissa ei ole muuta koodia. Office versio on 2007.

      • tapanani ei ole lähetellä "ei toimivia" ratkaisuja...

        "Ruksi on lähtötilanteessa vaikka sarakkeessa C. Kun merkkaan sen sarakkeeseen D, on ruksit ensin molemmissa sarakkeissa"

        paljastaa sen, ettei lähettämääni koodia suoriteta, koska koodihan reagoi valinnan muutokseen eli esimerkissäsi siirryt sarakkeeseen D, jolloin koodi suoritetaan ja se laittaa X ko.soluun jos se on alueella C7:K7 sekä laittaa B7 ko. solun sarakenumeron. Nyt sanoit " Ruksi on lähtötilanteessa vaikka sarakkeessa C. Kun merkkaan sen sarakkeeseen D..". eli joku muu koodi häslää taustalla ...

        siis lähettämässäni koodissa vain valitset solun alueelta C7:K7 jase on siinä.

        voit kokeilla koodia askel askeleelta kisäämällä VBA editorin puolella BEBUG/Toggle Break Point koodini ekalle riville tai valitse koodissa eka rivi ja klikkaa sitä vasemmalla olevaa harmaaata palkkia ja sitten kokeilet valita soluja ja katsot mitä koodisi todella tekee...

        Keep EXCELing
        @Kunde


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Törkeä petosepäily Suomussalmella

      Uutisoi maikkari. Uhrin nimiin on nostettu pankkilainaa, hänet on saatu sijoittamaan hevosiin ja ostamaan autoja. Ei ta
      Suomussalmi
      91
      4003
    2. Poliisi etälamautti, sitten pahoinpiteli

      Vaikeasti kehitysvammaisen niin vakavasti että kuoli pian sairaalassa. Ei osannut kehitysvammainen heti noudattaa polii
      Maailman menoa
      413
      1461
    3. Anni Ihamäki saa tylyä kommenttia TTK:sta - Erityisesti tämä "vääryys" ärsyttää

      Kaikille ei ole mieleen se, että Anni Ihamäki on mukana uudella Tanssii Tähtien Kanssa -kaudella. Ihamäki saa varsin ty
      Kotimaiset julkkisjuorut
      39
      1147
    4. Päivän Riikka: Pandan suklaatehdas Jyväskylästä Viroon

      Menkää töihin! Viroon! --- Liki sata vuotta kestänyt suklaantuotanto makeisvalmistaja Pandan tehtaalla Vaajakoskella pä
      Maailman menoa
      249
      986
    5. Mies, olen pahoillani kun olen kuvitellut

      Että pitäisit minusta. En sitä mistään tähdistä kuitenkaan lukenut, mulle vaan tuli jostain semmoinen tunne, kun itse ty
      Ikävä
      72
      953
    6. Mitä et ole valmis sietämään ihmissuhteissasi ja miksi?

      Aiemmin jo kyseltiin mitkä vaatimukset olivat mielestänne liiallisia. Kyselläänkin nyt sitä, että millaisilla asioilla s
      Sinkut
      295
      861
    7. Tiesitkö? Vappu Pimiän ensimmäinen aviomies ei ole Teemu-rakas

      Vappu Pimiä on tätä nykyä naimisissa Teemu Huuhtasen kanssa. Pimiä on toista kertaa naimisissa, sillä ensimmäinen liitto
      Kotimaiset julkkisjuorut
      24
      832
    8. Sysmä tarvitsee päätöksiä

      Sysmä tarvitsee päätöksiä – ei p*anjauhantaa** Kirjoitan kuntapolitiikan ulkopuolisena tarkkailijana. Sysmän poliittinen
      Sysmä
      26
      762
    9. Älä katoa elämästäni

      Kävelyllä mietin olisitpa varjo takanani vierelläni sivullani Älä katoa koskaan ole siinä pidä kädestäni kiinni ole kan
      Ikävä
      43
      736
    10. Älä nyt ylikuormitu vaikka sinusta pidänkin rakas nainen

      Tiedän, että olet minulle oikea. En halua pilata tätä juttua malttamattomuudella, mutta epäilen. Haluan vain olla lähel
      Ikävä
      33
      731
    Aihe