Haku koko työkirjasta ja tietyyn solun arvon tulokseksi

Anonyymi

Minulla on excel, jossa on ainakin 30 välilehteä.
Välilehdillä resursointiin liittyvää tietoa. Ja lisäksi minulla on kokooma, joka summaa kaikista välilehdistä henkilöiden varaukset. Ja sen olen saanut pelittämään tosi hyvin.
Mutta listalla on uusia henkilöitä, jotka ovat vaan yhden kerran jossain välilehdessä.

Saanko mitenkään sellaisen kaavan, että excel hakee tietyn solun tiedon kaikista välilehdistä, ja kun tieto löytyy, niin palauttaa minulle ko. välilehden solun C6-arvon.
Yritin kokeilla HAKU ja ETSI, JOS kaavoja, mutta ei oikein pelitä, tai en siis vaan osaa :)
vastaukseksihan tulisi varmaan arvo tai virhe niiden kohdille, jotka ovat monella välilehdellä ja se on fine, mutta saisin tietää missä kohteilla henkilöt on vaan yhden kerran.

Kiitos avusta jo etukäteen!

nim. niin lähellä mut tosi kaukana

2

1520

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Sub HakeeKaikistaTaulukoista()
      Dim ws As Worksheet
      Dim Löydetty As Range
      Dim Haku As String
      Dim Tupla As Boolean
      Dim kpl As Long
      Dim i As Long
      Dim C6Arvo As Variant
      Dim Nimi As String
      On Error Resume Next
      'haettava tieto ( nyt Sheet1 taulukko, oletetaan aktiiviseksi, kuna makroa suoritetaan, muuta alempana nimi oikeaksi
      Haku = Range("B3")
      kpl = Worksheets.Count
      For i = 1 To kpl
      ' muuta hakusolun taulukon nimi sopivaksi(ettei hae siitä...)
      If Worksheets(i).Name <> "Sheet1" Then
      With Worksheets(i).UsedRange
      Set Löydetty = .Find(What:=Haku, After:=.Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole)
      If Not Löydetty Is Nothing Then
      If Tupla Then
      C6Arvo = ""
      Nimi = ""
      GoTo loppu
      End If
      Tupla = True
      C6Arvo = Worksheets(i).Range("C6")
      Nimi = Worksheets(i).Name
      End If
      End With
      End If
      Next i
      On Error GoTo 0
      loppu:
      'muuta taulukon nimi ja solut sopiviksi
      Worksheets("Sheet1").Range("C6") = C6Arvo
      Worksheets("Sheet1").Range("D6") = Nimi
      End Sub

      Keep EXCELing
      @Kunde

    • Anonyymi

      Kuulostaa sellaiselta puuhalta, joka tehdään sql:ssä unionilla.

      Taulu1
      --
      ID Arvo
      1 1
      2 2
      3 3

      Taulu2
      --
      ID Arvo
      1 2
      4 4
      5 5

      SELECT Arvo FROM T1 UNION SELECT Arvo FROM T2;
      --
      Arvo
      1
      2
      3
      4
      5

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

    Luetuimmat keskustelut

    1. Mies vinkkinä sulle

      Jos pyytäisit kahville tai ihan mihin vaan, niin lähtisin varmasti välittämättä muista
      Ikävä
      103
      8172
    2. Oletko katkera kun

      Et saanut kaivattuasi
      Ikävä
      110
      5723
    3. Mitä haluat sanoa tällä hetkellä

      Hänelle 🫶 ⬇️
      Ikävä
      285
      5134
    4. Haluun sua niin paljon

      ❤️🥰🥹 Miehelle
      Ikävä
      49
      5013
    5. Vietetään yö yhdessä

      Rakastellaan koko yö
      Ikävä
      76
      3787
    6. Mitä palveluita mies..

      Haluaisit tilata minulta? -N
      Ikävä
      58
      3011
    7. Oletko tyytyväinen viime tapaamiseemme?

      Vai toivoitko sen menevän toisella tavalla? Miten?
      Ikävä
      66
      2727
    8. Olet oikeasti ollut

      Niin tärkeä mulle ja kaikki meidän väliltä on pilattu ei yksistään sinun toiminnalla vaan minun myös.
      Ikävä
      22
      2528
    9. Kuuluu raksutus tänne asti kun mietit

      Pelkäätkö että särjen sydämesi vai mikä on? En mä niin tekisi mies koskaan 😘
      Ikävä
      29
      2512
    10. Nyt se sit loppuu

      Et ei enää nähdä ja yhteyttä pidetä.
      Ikävä
      45
      2471
    Aihe