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

133

    Vastaukset

    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. Purra hyökkää nyt suomalaisen duunarin kimppuun teettämällä mamuilla palkatonta työtä

      Niinpä niin. Persut duunaripuolue, HAH. Joko alkaa kovapäisinkin persu älyämään, että persut ovat Suomen kansan vastain
      Maailman menoa
      273
      11697
    2. Mitä hyvää rikkaiden hyysääminen Suomelle tuonut?

      Minäpä vastaan: ei yhtikäs mitään, vaan pelkkää vahinkoa. Demareiden ansiosta Suomen valtio oli käytännössä vielä 1980-
      Maailman menoa
      138
      10960
    3. Tytti Tuppurainen häpäisi Suomen epäisänmaallisella lausunnollaan USA:n ulkoministerille Rubiolle.

      https://www.is.fi/politiikka/art-2000011816267.html Miksi Tytti Tuppurainen päästetään antamaan typeriä lausuntoja noin
      Maailman menoa
      236
      6282
    4. Purra ehdottaa vaan Tanskan mallia, joka on erittäin hyvä malli

      Purra ehdotti helmikuussa Suomeen Tanskan mallia, jossa maahanmuuttajilta vaaditaan työntekoa sosiaalitukien saamiseksi.
      Maailman menoa
      218
      5142
    5. Kokoomusnuoret: Sosiaalitukien työvelvoitteen tulisi koskea kaikkia

      Riikka Purra on esittänyt, että maahanmuuttajilta tulisi edellyttää palkatonta työtä sosiaalitukien vastineeksi. Kokoom
      Maailman menoa
      158
      3606
    6. Pystyisitkö olla

      Kanssani kaiken sotkun jälkeen? Ainakaan tunteet ei ole loppuneet
      Ikävä
      174
      3518
    7. L/OVER ikuisesti minun

      Aivan järkyttävä sarja. Ei voi olla katsomatta, mutta tuo omat muistot mieleen. Näyttelijät näyttelevät turhankin hyvin
      Ikävä
      53
      2438
    8. Mitä voisit miehenä tehdä?

      Suojellaksesi kaikkia naisia ja että heillä olisi juuri sinun käytöksen takia edes vähän turvallisempaa. Mitä miehenä
      Ikävä
      325
      1947
    9. Jyrki Linnankivi, Jyrki 69 - Goottirokkarista kirkonmieheksi Lappiin!

      Jyrki Linnankivi eli Jyrki 69 on The 69 Eyes -rockyhtyeen vokalisti. Lauluhommien lisäksi hän sanoittaa, säveltää ja sov
      Työ ja opiskelu
      10
      1778
    10. Onnea Maria ja Vilma Amazing Race -voitosta!

      Maria Guzenina ja Vilma Vähämaa voittivat Amazing Race Suomi -kisan. Voiton hetkellä Guzenina paljasti, miksi valitsi Vi
      Tv-sarjat
      16
      1674
    Aihe