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

1521

    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. Mistä puhuitte viimeksi kun näitte

      Kerro yksi aiheista
      Ikävä
      101
      7443
    2. Siekkilässä ajettu ihmisten yli- mitä tapahtui? Länsi-Savo ei ole uutisoinut asiata

      Manneja, vaiko matuja?
      Mikkeli
      81
      5047
    3. Se on hyvästi

      Toivottavasti ei tavata.
      Ikävä
      79
      4869
    4. Olenko saanut sinut koukkuun?

      Hyvä. Rakastan sua.
      Ikävä
      132
      4268
    5. Alavuden sairaala

      Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan
      Ähtäri
      10
      3058
    6. Miksi sä valitsit

      Juuri minut sieltä?
      Ikävä
      52
      2699
    7. Sisäsiittosuus

      Tämän kevään ylioppilaista 90% oli sama sukunimi?
      Suomussalmi
      40
      2596
    8. Kerro nyt rehellisesti fiilikset?

      Rehellinem fiilis
      Suhteet
      53
      2247
    9. Törkeää toimintaa

      Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818
      Ylivieska
      10
      2221
    10. Suudeltiin unessa viime yönä

      Oltiin jossain rannalla jonkun avolava auton lavalla, jossa oli patja ja peitto. Uni päättyi, kun kömmit viereeni tähtit
      Ikävä
      21
      1850
    Aihe