Tietojen kelpoisuuden tarkistus -ongelma

Kelpo-lisääjä

Ongelman kuvaus esimerkin valossa:
Minulla on nimilista soluissa A50-100, josta olen tehnyt alaspudotusvalikon
Tietojen kelpoisuuden tarkistuksella soluun A1, josta olen sen kopioinut useaan sataan soluun riveille 1-40.

Nyt olisi tarve lisätä muutama nimi listaan, eli soluihin A101-102. Tuo onnistuu vielä helposti, vain lisäämällä nimet listaan.

Mutta: Miten saan lisättyä kaikkiin Tietojen kelpoisuuden tarkistussoluihin (useita satoja) nuo nimet kätevästi yhdellä kertaa, ettei tarvitsisi yksitellen lisätä?

Tarkennuksena vielä, että hiirellä maalaamalla ja kopioimalla ei onnistu enää kätevästi, koska tuolla Tietojen kelpoisuuden tarkistusalueella on muutakin matskua välissä olevissa soluissa.

8

344

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • tavalliseen moduuliin...

      Sub testi()
      Dim Solu As Range
      On Error Resume Next
      For Each Solu In Cells.SpecialCells(xlCellTypeAllValidation)
      If Solu.Validation.Formula1 = "=$A$50:$A$100" Then
      With Solu.Validation
      .Delete
      .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
      xlBetween, Formula1:="=$A$50:$A$102"
      .IgnoreBlank = True
      .InCellDropdown = True
      .InputTitle = ""
      .ErrorTitle = ""
      .InputMessage = ""
      .ErrorMessage = ""
      .ShowInput = True
      .ShowError = True
      End With
      End If
      Next
      On Error GoTo 0
      End Sub

      Keep EXCELing
      @Kunde

    • nimenantaja

      Anna tuolle uudelle alueelle (A50:A102) nimi, vaikka "nimilista". Valitse solu josta kopioit kelpoisuustarkistuksen muihin soluihin ja avaa Kelpoisuustarkistus. Kirjoita Lähde-ruutuun =nimilista ja ruksaa sitten kohta "Tee nämä muutokset kaikkiin soluihin, joissa on samat asetukset" ja OK. Uusi nimilista löytyy nyt kaikista soluista joissa on kelpoisuustarkistus.

    • nimenantaja

      Jäi vielä tuossa mainitsematta, että jos tulee taas tarvetta lisätä uusia nimiä listaan, niin menet vain Kaavat-välilehdelle ja valitse sieltä "Nimien hallinta" ja valitse "nimilista" ja muuta sieltä alhaalta "Viittaa"-kohtaan uusi solualue.

    • Kelpo-lisääjä

      Kiitos "Kunde" ja "nimenantaja", sain ongelmaani ratkaisun "Tee nämä muutokset kaikkiin soluihin, joissa on samat asetukset" -muutoksen kautta.

      Kunde, rupesi kiinnostamaan -siksi kysynkin, tuoko VB -koodi tähän ongelmaani erilaista ratkaisua, mikä ei selviä kuin vasta kokeilemalla koodiasi? Voisi olettaa, kun näit ilmeisesti kuitenkin vaivaa vääntää tuollaisen koodin. :)

    • No ei tossa kauan aikaa mennyt
      Mutta ei nyt mitään merkittävää etua, koska toi nimenantajan vinkki toimii hyvin, koska sulla oli se solu, josta kopioit sen muihin. Jäi huomioimatta mulla ;-)
      Muuten koodini olisi ihan ehdoton.
      tossa testataan muutettava kelpoisuusehto
      If Solu.Validation.Formula1 = "=$A$50:$A$100"
      ja tossa muutetaan uusi ehto
      .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
      xlBetween, Formula1:="=$A$50:$A$102"
      ja lopuissa sitten voi tehdä ilmoituksiin muutoksia

      Vielä helpommalla pääset kun teet jatkossa listasi dynaamiseksi siirtymä(offset) funktiolla ja silloin ei tarvitse muuta, kuin lisäillä tai poistaa nimiä luettelosta ja toimii automaattisesti...

      Keep EXCELing
      @Kunde

    • Kelpo-lisääjä

      Jep, hyvät vaihtoehdot on aina tervetulleita. Tarve nimien lisäämiselle tai poistamiselle on niin minimaalista ja harvinaista, että taidan pysyä tässä "nimenantajan" ohjeessa, kun sen nyt osaan tehdä. ;D

    • nimenantaja

      Vaikka sinulla ei olekaan tarvetta enää lisätä uusia nimiä, kaiketi, niin tuo Kunden mainitsema dynaaminen lista on hyvä konsti automaattisesti muuttaa nimilista-aluetta SIIRTYMÄ-funktiolla. Tässä esimerkki. Kirjoita siihen "alkuperäisen" solun "Kelpoisuustarkistus"-lomakkeeseen Lähde-kohtaan kaava:
      =SIIRTYMÄ(Taul1!$A$50;0;0;LASKE.A(Taul1!$A$50:$A$200);1)
      ja ruksaa se kohta "Tee nämä muutokset..."
      Nyt nimilista "toimii" alueella A50:A200 automaattisesti. Voit lisätä/poistaa nimiä listasta ja kaikki löytyy aina jokaisesta "Kelpoisuustarkistus"-solusta.
      Tämän saman kaavan voi myös kirjoittaa Nimien hallinnassa "nimilistalle" Viittaa-kohtaan, jos käyttää tuota ensin mainitsemaani nimen antamista solualueelle.

    • Kelpo-lisääjä

      Totta, tarve voi tulla milloin vaaan. Laitan tämän talteen myöhempiä kokeiluja varten.
      Kiitos molemmille vinkistä!

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

    Luetuimmat keskustelut

    1. Nurmossa kuoli 2 Lasta..

      Autokolarissa. Näin kertovat iltapäivälehdet juuri nyt. 22.11. Ja aina ennen Joulua näitä tulee. . .
      Seinäjoki
      145
      8450
    2. Joel Harkimo seuraa Martina Aitolehden jalanjälkiä!

      Oho, aikamoinen yllätys, että Joel Jolle Harkimo on lähtenyt Iholla-ohjelmaan. Tässähän hän seuraa mm. Martina Aitolehde
      Suomalaiset julkkikset
      46
      2358
    3. Kaksi lasta kuoli kolarissa Seinäjoella. Tutkitaan rikoksena

      Henkilöautossa matkustaneet kaksi lasta ovat kuolleet kolarissa Seinäjoella. Kolmas lapsi on vakasti loukkaantunut ja
      Maailman menoa
      26
      2192
    4. Miten meinasit

      Suhtautua minuun kun taas kohdataan?
      Ikävä
      95
      1748
    5. Miksi pankkitunnuksilla kaikkialle

      Miksi rahaliikenteen palveluiden tunnukset vaaditaan miltei kaikkeen yleiseen asiointiin Suomessa? Kenen etu on se, että
      Maailman menoa
      181
      1707
    6. Et olisi piilossa enää

      Vaan tulisit esiin.
      Ikävä
      37
      1700
    7. Tunnekylmä olet

      En ole tyytyväinen käytökseesi et osannut kommunikoida. Se on huono piirre ihmisessä että ei osaa katua aiheuttamaansa p
      Ikävä
      108
      1133
    8. Sinä saat minut kuohuksiin

      Pitäisiköhän meidän naida? Mielestäni pitäisi . Tämä värinä ja jännite meidän välillä alkaa olla sietämätöntä. Haluai
      Tunteet
      18
      1052
    9. Taisit sä sit kuiteski

      Vihjata hieman ettei se kaikki ollutkaan totta ❤️ mutta silti sanoit kyllä vielä uudelleen sen myöhemmin 😔 ei tässä oik
      Ikävä
      5
      1019
    10. Oletko miten

      Valmis läheisyyteen?
      Ikävä
      53
      1005
    Aihe