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. Metsamanin muru kissa kuollut

      Nyt siellä surraan muru kissaa päivä tolkulla,vaikka muuten ei oo välittänyt mitenkään siitä,kun joka videolla vaan mars
      Tuusniemi
      194
      3258
    2. 95
      1463
    3. Mitä haluaisit kysyä

      kaivatultasi juuri nyt?
      Ikävä
      130
      1158
    4. Kysymys

      Pystyisitkö tutustuu kaverina tai alkaa parisuhteeseen skitsofreenikon kanssa? T.Skitosoaffektiivinen (parantunut) Ois
      Sinkut
      252
      1144
    5. Tapailtaisko nainen

      Meidän kotien puolessavälissä suunnilleen, vähä niinku salaa. Siinä on yks kiva paikka joka sopis hyvin. Mieheltä
      Ikävä
      86
      985
    6. Olisitko valmis lähitulevaisuudessa

      Kohtaamaan minut mies?
      Ikävä
      97
      861
    7. Kissan kuolema

      https://youtube.com/shorts/lJznLVfBTxA?si=h-F1D4Arg4uGjGX- On tuo aivan uskomaton tapaus! Lähes 200 osanottoa ja surun
      Tuusniemi
      112
      707
    8. Haluatko J-mies jutella asiat selviksi vai jäädä palstalle haaveilemaan

      Kuten otsikko sanoo: Haluatko tavata ja jutella, jotta saadaan asioihin selvyys lopullisesti vai haluatko mieluummin haa
      Ikävä
      56
      705
    9. Naiset ymmärtävät ettei talous lähde nousuun

      Miten paljon järjellisempi olento nainen onkaan kuin tilastollisestikin paremmin tienaava mies. Kun kaikkialla puskuroid
      Maailman menoa
      108
      688
    10. Miten on, luotathan siihen?

      Että vielä tehdään kiihkeästi sitä yhdessä... Tutulle naiselle.❤️‍🔥
      Ikävä
      39
      607
    Aihe