Vastaavuuden löytäminen Sheet1 ja Sheet2 välillä

etsiminen on taidetta.

Hei!


Onko mahdollista tehdä semmoinen makro joka osaa noutaa Sheet2 A1, A2, A3 jne tiedon ja etsii vastaavat Sheet1:ltä ja jos vastaavuus löytyy, niin värjää ne suoraan punaiseksi.
Minulla on sheet2 noin 300 solua joiden vastaavuudet pitäisi etsiä Sheet1, ja jotta huomaisin solut paremmin, haluaisin ne värjäytyvän.

Kiitoksia etukäteen!

8

838

    Vastaukset 8

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

      Ehdollisella muotoilulla saattaisi onnistua. Toisella arkilla nimetään ensin vertailtava alue.
      Muotoiluehdoksi kaavan arvo =Laske.Jos(Alue;A1)>0

      • toimi..........

        mut ehdollinen muotoilussa joudun aina vaihtamaan arvon. Tarkoituksena olisi et makro käy tietyn listan läpi ja etsii toisesta alueesta vastaavuudet.


      • hyvin toimii
        toimi.......... kirjoitti:

        mut ehdollinen muotoilussa joudun aina vaihtamaan arvon. Tarkoituksena olisi et makro käy tietyn listan läpi ja etsii toisesta alueesta vastaavuudet.

        nimeät sheet1 alueen vaikka ekaAlue ja valitset sheet2:n alueen jolle haluat muotoilun,laitat ehdolliseen muotoiluun
        formula is =COUNTIF(ekaAlue;A2) ja valitse haluamasi värin


    • vähän oli ylimalkainen kyssäri tiedoilta, mutta tolla alkuun
      moduuliin...

      nimeä taulukko2 verrattavat solut ="Alue" ja muokkaa taulukoiden nimet sopiviksi

      Option Explicit
      Dim EiTupla As New Collection

      Sub Värjää()
      Dim Tiedot As Variant
      Dim Alue As Range
      Dim i As Integer
      On Error Resume Next
      Application.ScreenUpdating = False
      Application.DisplayAlerts = False
      Worksheets("Sheet2").Activate
      PoistaTuplat
      Worksheets("Sheet1").Cells.Interior.ColorIndex = xlNone
      For i = 1 To EiTupla.Count
      Set Alue = EtsiJaSiirrä(EiTupla(i), Worksheets("Sheet1").Cells)
      Alue.Interior.ColorIndex = 3
      Next
      Application.ScreenUpdating = True
      Application.DisplayAlerts = True
      End Sub

      Sub PoistaTuplat()
      Dim solu As Range
      Dim Vika As Double
      On Error GoTo virhe
      For Each solu In Range("Alue")
      If Not IsEmpty(solu) Then
      EiTupla.Add solu.Value, CStr(solu.Value)
      End If
      Next solu
      Exit Sub
      virhe:
      Resume Next
      End Sub

      Function EtsiJaSiirrä(Haettava As Variant, _
      Hakualue As Range) As Range

      Dim solu As Range
      Dim ekaosoite As String

      With Hakualue
      Set solu = .Find( _
      What:=Haettava, _
      LookIn:=xlValues, _
      LookAt:=xlWhole, _
      SearchOrder:=xlByRows, _
      SearchDirection:=xlNext, _
      MatchCase:=False, _
      SearchFormat:=False)
      If Not solu Is Nothing Then
      Set EtsiJaSiirrä = solu
      ekaosoite = solu.Address
      Do
      Set EtsiJaSiirrä = Union(EtsiJaSiirrä, solu)
      Set solu = .FindNext(solu)
      Loop While Not solu Is Nothing And solu.Address ekaosoite
      End If
      End With
      End Function

      • vaatii!

        Hei!

        Makro toimii, kiitos.
        Pientä ongelmaa pukkaa silloin kun haluan etsiä vastaavuudet uudestaan. Nimittäin olen tehnyt niin, että poistan värjäykset kokonaan Sheet1 taulukosta. Sen jälkeen muokkaan Sheet2, sitä taulukkoa mistä tiedot haetaan. Esim. Poistan sieltä kaikki paitsi yhden solun. Kun ajan värjäys_makron uudestaan, niin värjää makro samat solut kuin aikaisemmalla kerralla. Ihan ku makro hakisi tiedot jostain muistista, eikä siltä Sheet2 alueelta.
        Tietäisitkö missä mahtaa olla vika?


      • vaatii! kirjoitti:

        Hei!

        Makro toimii, kiitos.
        Pientä ongelmaa pukkaa silloin kun haluan etsiä vastaavuudet uudestaan. Nimittäin olen tehnyt niin, että poistan värjäykset kokonaan Sheet1 taulukosta. Sen jälkeen muokkaan Sheet2, sitä taulukkoa mistä tiedot haetaan. Esim. Poistan sieltä kaikki paitsi yhden solun. Kun ajan värjäys_makron uudestaan, niin värjää makro samat solut kuin aikaisemmalla kerralla. Ihan ku makro hakisi tiedot jostain muistista, eikä siltä Sheet2 alueelta.
        Tietäisitkö missä mahtaa olla vika?

        "Esim. Poistan sieltä kaikki paitsi yhden solun. Kun ajan värjäys_makron uudestaan, niin värjää makro samat solut kuin aikaisemmalla kerralla. Ihan ku makro hakisi tiedot jostain muistista, eikä siltä Sheet2 alueelta."

        nimeä taulukko2 verrattavat solut ="Alue"
        et ole nimennyt haettavia soluja uudelleen.

        "poistan värjäykset kokonaan Sheet1 taulukosta"

        Makrohan poistaa värjäykset automaattisesti Sheet1:stä.Joten ei tartte tehdä...

        eli...
        Nimeä vain ne solut mitä vertaat ="Alue" ja toimii just niinkuin pitääkin...


      • .....
        kunde kirjoitti:

        "Esim. Poistan sieltä kaikki paitsi yhden solun. Kun ajan värjäys_makron uudestaan, niin värjää makro samat solut kuin aikaisemmalla kerralla. Ihan ku makro hakisi tiedot jostain muistista, eikä siltä Sheet2 alueelta."

        nimeä taulukko2 verrattavat solut ="Alue"
        et ole nimennyt haettavia soluja uudelleen.

        "poistan värjäykset kokonaan Sheet1 taulukosta"

        Makrohan poistaa värjäykset automaattisesti Sheet1:stä.Joten ei tartte tehdä...

        eli...
        Nimeä vain ne solut mitä vertaat ="Alue" ja toimii just niinkuin pitääkin...

        Opettelen vasta VBA:ta, joten kiitoksia kärsivällisyydestä.

        Olen nimennyt alueen näin:
        For Each solu In Range("A2:A6000")

        Tieto haetaan sheet2 ja alueesta A2:A6000.
        Onko tämä oikein?


      • ..... kirjoitti:

        Opettelen vasta VBA:ta, joten kiitoksia kärsivällisyydestä.

        Olen nimennyt alueen näin:
        For Each solu In Range("A2:A6000")

        Tieto haetaan sheet2 ja alueesta A2:A6000.
        Onko tämä oikein?

        originelli oli näin, ja siinä on toi "Alue", jonka määrittelet valikosta lisää/nimi/määritä Insert/Name/Define ja siinä valitset haluamasi solut ja annat alueelle nimeksi Alue. Näin sen ajattelin...
        Ok voit muuttaa koodia siten, että korvaat
        For Each solu In Range("Alue") tällä
        For Each solu In Range("A2:A6000") ja käyt sitten koodissa muuttamassa aluetta.
        Tietenkin voit tehdä niin, että valinta on alueena, niin ei tartte kuin valita testattavat solut ja suorittaa koodi
        esim.

        Sub PoistaTuplat()
        Dim solu As Range
        Dim Vika As Double
        On Error GoTo virhe
        For Each solu In Selection
        If Not IsEmpty(solu) Then
        EiTupla.Add solu.Value, CStr(solu.Value)
        End If
        Next solu
        Exit Sub
        virhe:
        Resume Next
        End Sub


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

    Luetuimmat keskustelut

    1. Onko vassarin lääkkeet(mt) jääneet taas ottamatta

      Sen verran järjetöntä persuhuutoa taa näkyville. Tuo yksi häiriintynyt ei osaa kuin "huutaa" isoilla kirjaimilla, se on
      Maailman menoa
      47
      1492
    2. Olen nainen pahoillani, että tykkään sinusta niin paljon, että

      Haluaisin panna sua. Tuntuu vaan siltä, että olet sen suhteen ihan haluton. Ei minulle riitä pelkkä ystävyyssuhde.
      Ikävä
      59
      870
    3. Mieti oikeasti

      Ollaan lähes tuntemattomia, mutta samalla on tämä erityinen vuosien tilanne takana, joka on ollut monella tapaa väärin.
      Ikävä
      30
      647
    4. Taasko sä vedit

      Suojamoodin päälle? Miehelle
      Ikävä
      87
      627
    5. kene ajoi "kolarin"?

      "Punkaharjulla Luston ja Tuppuranmäen välillä sattui tiistaina aamupäivällä liikenneonnettomuus. Poliisin mukaan Savonl
      Savonlinna
      14
      595
    6. Tiedoksi yhdelle naiselle

      että mies lähestyy kaikin tavoin jos on kiinnostunut! 🙋🏻‍♂️
      Ikävä
      43
      573
    7. Pahin tapa satuttaa toista

      On jättää toinen vaille mitään vastausta. Erityisen kipeää se tekee sillon jos toinen ghostaa.
      Ikävä
      56
      564
    8. Liikenneonnettumuus

      Linkkari ja ruotsibiili törmäsivät linkku oli redun opetusajossa
      Ylitornio
      7
      532
    9. Minä kyllä odotan nainen

      että sinun kanssa voisin jutella asioista ihan oikeasti.
      Ikävä
      44
      521
    10. Alkaa jotenkin nyt kuvio hahmottuu täällä

      Sellainen vaikutelma tästä alkaa tulla, että täällä on joku pieni porukka, joka tuntee toisensa tai ainakin pelaa samaan
      Ikävä
      70
      510
    11. Puukotus Kajaanissa

      Kuka puukotti ja ketä? https://yle.fi/a/74-20247765 Vähemmän yllättäen päihteet mainittu
      Kajaani
      23
      507
    12. Mitä söpö

      Mies mietit?
      Ikävä
      61
      505
    13. Jos kaivattusi on

      Varattu niin miksi et antaisi asian olla hänen suhteen. Miksi ylipäätään vielä jatkat?
      Ikävä
      47
      503
    14. Miten uskallan sua nähdä

      Kun vaikutat suuttuneelta :(
      Ikävä
      37
      486
    15. Kylän tielle remonttia?

      Mitäköhän kylän tielle ruvetaan tekemään ku laitettu tuommoset töpsät muutamien suojateitten kohille?
      Hyrynsalmi
      13
      472
    16. Minulla on joskus ikävä sinua ja ajattelen sinua joskus.. edelleen

      Olin joskus niin rakastunut sinuun. Olin onnellinen, että kohdattiin ja kun vain tiesin sinun olevan olemassa. Täytit aj
      Ikävä
      14
      471
    17. Hyvä on sitten, jos et sitä s*ksiä halua kanssani.

      Rakastetaan vaan toisiamme, voin käydä muualla tyydyttämässä fyysisenpuolen tarpeet. Puhumalla tämäkin olisi selvinnyt.
      Ikävä
      132
      429
    18. 42
      418
    19. Nainen, tässä olen kahden vaiheilla

      Toinen pitäisi valita ja kummassakin on hyvät ja huonot puolensa. Toinen olisi sellainen pysyvä mutta työläs. Toinen taa
      Ikävä
      45
      399
    20. Oliko virhe palkata näykkelis johtoon?

      Kunnan asiat sekaisin eikä mikään homma toimi. Ilmeisesti samaa sekoilua muillekin suunnille. Johtaja asuu itse muualla
      Lappajärvi
      97
      386
    Aihe