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

1593

    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. Mitkä asiat

      tekevät vaikeaksi kohdata kaivattusi?
      Ikävä
      74
      1044
    2. 65
      913
    3. Miltä se tuntuu

      Miltä se tuntuu havahtua, että on ollut ihmistä kohtaan, joka on rakastanut ja varjellut, täysi m*lkku? Vai havahtuuko s
      Ikävä
      104
      898
    4. Rakas

      Eihän se tietysti minulle kuulu, mutta missä sinä olet? 😠
      Ikävä
      47
      882
    5. Pidit itseäsi liian

      Vanhana minulle? Niinkö?
      Ikävä
      49
      811
    6. Haluaisitko oikeasti

      Vakavampaa välillemme vai tämäkö riittää
      Ikävä
      49
      684
    7. En mahda sille mitään

      Olet ihanin ja tykkään sinusta todella paljon.
      Ikävä
      31
      649
    8. Joko olet luovuttanut

      Mun suhteen?
      Ikävä
      50
      580
    9. Mitä se olisi

      Jos sinä mies saisit sanoa kaivatullesi mitä vain juuri nyt. Ilman mitään seuraamuksia yms. Niin mitä sanoisit?
      Ikävä
      34
      577
    10. Sinunkin pitää jättää

      Se kaivattusi rauhaan.
      Ikävä
      38
      526
    Aihe