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

131

    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. Kiva kun SDP alkaa hallitsemaan Suomea

      Vanhat hyvät ajat taas palaavat ja kansa vaurastuu. Muistatteko vielä Sorsan aikakauden? Silloin Suomessa tehtiin jopa
      Maailman menoa
      186
      5116
    2. SDP:n lyhyt selviytymisopas

      1. Komitea on vastaus, oli kysymys mikä tahansa Jos maailma on muuttumassa tai jossain palaa, demari ei hätiköi. Ensin p
      Maailman menoa
      78
      4189
    3. Keskisen kyläkaupassa Temun vaatteita myynnissä?

      Siis mitä? Miksi siis ei itse tilaisi Temusta samoja.
      Maailman menoa
      73
      2915
    4. SÄHKÖLASKU 1600 EUROA Ei tässä ole mitään järkeä

      https://www.is.fi/taloussanomat/art-2000011804443.html Kyllä täysin huijausta nämä sähkömarkkinat. Varsinkin pörssisähk
      Maailman menoa
      234
      2327
    5. Toivoisitko

      Toivoisitko, että kaivattusi olisi introvertimpi tai extrovertimpi? Itsenäinen tai tarvitsisi enemmän apua/sinua? Osoit
      Ikävä
      120
      2138
    6. Olli Rehn: Eläkkeistä pitää leikata. Nyt tuli Lindtmanille kauhun paikka

      jos johtaa seuraavaa hallitusta. Purra: eläkkeisiin ei kosketa. Eikä tällä hallituskaudella varmasti kosketa, mutta seur
      Maailman menoa
      41
      1458
    7. Venäläiset varkaudessa

      Ja venäjä mieliset. Teitä kiinnostaa toisinajattelijat ja trafikista päätellen aika paljonkin. Kunhan aika koitaa tulee
      Varkaus
      243
      1285
    8. Lupajaoston esityslista

      Ilmoitus rakennusvalvonntaan luvattomasta rakentamisesta. esityslistan 6pykälä Kyse on kulttuuritalon rakentamisesta jo
      Pyhäjärvi
      49
      905
    9. Haluaisitko kaivattusi

      kanssa ensiksi seksiä ja sen jälkeen puhumista?
      Ikävä
      62
      846
    10. Jorma Uotinen UMK-juontajaksi! Mitä ajatuksia UMK-pesti herättää?

      Professori, laulaja, koreografi ja TTK-tuomari Jorma Uotinen, 75, on yksi tämän vuoden UMK-juontajista. Uotisen rinnall
      Euroviisut
      24
      835
    Aihe