Löytyykö merkkijono-->kopioi rivi sheet2

G2-op

Osaako joku neuvoa?

Minulla on taulukko, jossa on rivejä n. 500 kpl ja riveillä 2-50 sarakkeita, joilla on merkkijonoja.

Haluan etsiä koko taulukosta rivi riviltä löytyykö tiettyä merkkijonoa joltakin sarakkeelta. Jos löytyy haluan kopioida kyseisen rivin sisällön kokonaisuudessaan toiseen taulukkoon ja jatkaa etsintää viimeiselle riville asti.

7

889

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • moduuliin...
      etsii nyt sheet1:stä arvoa 11 ja siirtää löydetyt rivit sheet2:lle ekalle tyhjälle riville A- sarakkeessa
      muuttele vakioita tarpeesi mukaan...
      LookIn:=xlValues-xlFormulas
      LookAt:=xlWhole-xlPart
      MatchCase:=False-True

      Function EtsiJaSiirrä(Hakuehto As Variant) As Range
      Dim solu As Range
      Dim EkaOsoite As String
      Worksheets("Sheet1").Activate
      With Cells
      Set solu = .Find( _
      What:=Hakuehto, _
      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

      Sub Testi()
      Dim Löydetty As Range
      On Error GoTo virhe
      Set Löydetty = EtsiJaSiirrä(11).EntireRow
      Union(Löydetty, Löydetty).Copy Range("Sheet2!A65536").End(xlUp).Offset(1, 0).EntireRow
      Exit Sub
      virhe:
      MsgBox "hakuehdoilla ei löytynyt tietoja!", vbInformation
      End Sub

      • mokasin

        mulla pysätyy tohon LookIn:= kohtaan

        mitä teen väärin

        sen lisäksi koitin muokata siten että hakee sheet1 A1 solun tietoa Sheet3 ja palauttaa Sheet1 A1 alapuolelle jos löytyy, haku on tekstiä, ja jos löytyy useampia, palauttaisi kaikki allekkain sheet1 sivulle

        LookIn:=xlValues - xlFormulas
        LookAt = xlWhole - xlPart
        MatchCase = False - True

        Function EtsiJaSiirrä(Hakuehto As Variant) As Range
        Dim solu As Range
        Dim EkaOsoite As String
        Worksheets("Sheet3").Activate
        With Cells
        Set solu = .Find( _
        What:=Hakuehto, _
        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

        Sub Testi()
        Dim Löydetty As Range
        On Error GoTo virhe
        Set Löydetty = EtsiJaSiirrä(R1C1).EntireRow
        Union(Löydetty, Löydetty).Copy Range("Sheet1!A65536").End(xlUp).Offset(1, 0).EntireRow
        Exit Sub
        virhe:
        MsgBox "hakuehdoilla ei löytynyt tietoja!", vbInformation
        End Sub


      • mokasin kirjoitti:

        mulla pysätyy tohon LookIn:= kohtaan

        mitä teen väärin

        sen lisäksi koitin muokata siten että hakee sheet1 A1 solun tietoa Sheet3 ja palauttaa Sheet1 A1 alapuolelle jos löytyy, haku on tekstiä, ja jos löytyy useampia, palauttaisi kaikki allekkain sheet1 sivulle

        LookIn:=xlValues - xlFormulas
        LookAt = xlWhole - xlPart
        MatchCase = False - True

        Function EtsiJaSiirrä(Hakuehto As Variant) As Range
        Dim solu As Range
        Dim EkaOsoite As String
        Worksheets("Sheet3").Activate
        With Cells
        Set solu = .Find( _
        What:=Hakuehto, _
        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

        Sub Testi()
        Dim Löydetty As Range
        On Error GoTo virhe
        Set Löydetty = EtsiJaSiirrä(R1C1).EntireRow
        Union(Löydetty, Löydetty).Copy Range("Sheet1!A65536").End(xlUp).Offset(1, 0).EntireRow
        Exit Sub
        virhe:
        MsgBox "hakuehdoilla ei löytynyt tietoja!", vbInformation
        End Sub

        Set Löydetty = EtsiJaSiirrä(R1C1).EntireRow
        ei tunnista tota R1C1 soluksi A1, all hiukan muunneltuna ja korjattuna makrot


        Function EtsiJaSiirrä(Hakuehto As Variant) As Range
        Dim solu As Range
        Dim EkaOsoite As String
        Worksheets("Sheet3").Activate
        With Cells
        Set solu = .Find( _
        What:=Hakuehto, _
        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
        Worksheets("Sheet1").Activate
        Range("A1").Select
        End Function

        Sub Testi()
        Dim Löydetty As Range
        Dim Haku As Variant

        On Error GoTo virhe
        Haku = Worksheets("Sheet1").Range("A1")
        Set Löydetty = EtsiJaSiirrä(Haku).EntireRow
        Union(Löydetty, Löydetty).Copy Range("Sheet1!A65536").End(xlUp).Offset(1, 0).EntireRow
        Exit Sub
        virhe:
        MsgBox "hakuehdoilla ei löytynyt tietoja!", vbInformation
        End Sub


      • konsultointia
        kunde kirjoitti:

        Set Löydetty = EtsiJaSiirrä(R1C1).EntireRow
        ei tunnista tota R1C1 soluksi A1, all hiukan muunneltuna ja korjattuna makrot


        Function EtsiJaSiirrä(Hakuehto As Variant) As Range
        Dim solu As Range
        Dim EkaOsoite As String
        Worksheets("Sheet3").Activate
        With Cells
        Set solu = .Find( _
        What:=Hakuehto, _
        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
        Worksheets("Sheet1").Activate
        Range("A1").Select
        End Function

        Sub Testi()
        Dim Löydetty As Range
        Dim Haku As Variant

        On Error GoTo virhe
        Haku = Worksheets("Sheet1").Range("A1")
        Set Löydetty = EtsiJaSiirrä(Haku).EntireRow
        Union(Löydetty, Löydetty).Copy Range("Sheet1!A65536").End(xlUp).Offset(1, 0).EntireRow
        Exit Sub
        virhe:
        MsgBox "hakuehdoilla ei löytynyt tietoja!", vbInformation
        End Sub

        Kiitti Kunde.

        Jäi laittamatta että A1 kenttään tulee tekstiä, ja vastaus / vastauksia tulisi vaikkei olisikaan kirjoittanut täysin samalla tavalla ( isot /pienet kirjaimet ) ja täydellistä sanaa, esim viiden kirjaimen mukaan, muttei välttämättä lauseen / rivin alussa vaan jossain sen sisällä.


      • konsultointia kirjoitti:

        Kiitti Kunde.

        Jäi laittamatta että A1 kenttään tulee tekstiä, ja vastaus / vastauksia tulisi vaikkei olisikaan kirjoittanut täysin samalla tavalla ( isot /pienet kirjaimet ) ja täydellistä sanaa, esim viiden kirjaimen mukaan, muttei välttämättä lauseen / rivin alussa vaan jossain sen sisällä.

        kuten ekassa postauksessani sanoin, vaihda vakioita
        vauhda koodissa
        LookAt:=xlWhole--->LookAt:=xlPart


      • Kumarrus
        kunde kirjoitti:

        kuten ekassa postauksessani sanoin, vaihda vakioita
        vauhda koodissa
        LookAt:=xlWhole--->LookAt:=xlPart

        Nyt pelittää, mutta

        vielä jos saa niin ettei väliä onko capslock päällä.
        Jos kirjoitan ISOILLA toimii
        pienillä ei löydy


      • kiitos kundelle
        Kumarrus kirjoitti:

        Nyt pelittää, mutta

        vielä jos saa niin ettei väliä onko capslock päällä.
        Jos kirjoitan ISOILLA toimii
        pienillä ei löydy

        toimii jo olin muuttanut noi trueksi, vaihdoin takaisin.

        MatchCase:=False,
        _
        SearchFormat:=False

        olen sulle kaljan ainakin velkaa

        kiitos


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

    Luetuimmat keskustelut

    1. Kansalla on oikeus tietää miksi persut pettävät

      Koko kulunut hallituskausi on kysytty persuilta, minkä vuoksi he ovat pettäneet käytännössä jokaisen vaalilupauksen, ain
      Maailman menoa
      252
      9338
    2. Kunnissa - siis myös kaupungeissa - viihtyvät ovat kommunisteja

      Nehän ovat osa yhteiskunnan tuottamia instansseja, joista on vain haittaa veronmaksajille ja yrittäjlle, kuten ollaan ve
      Kommunismi
      5
      2801
    3. Ammattiliitto 900 euroa/vuosi - Työttömyyskassa 72 euroa/vuosi

      Ammattiliitosta eroamalla voi säästää jopa 800 euroa vuodessa. Mitä enemmän tienaat, sitä enemmän maksat liitolle. Esim
      Maailman menoa
      209
      1942
    4. Kansalla on oikeus tietää mikä on SDP:n talousohjelma jolla maan talous

      saadaan nousuun? Miksi puolue piilottelee sitä, vai eikö sitä ole? Tähän asti olemme vaan saaneet kuulla hallituksen ha
      Maailman menoa
      105
      1920
    5. Missä vaiheessa

      Päätit irl luovuttaa minun suhteeni?
      Ikävä
      142
      1419
    6. SDP todellisuudessa pahin pettäjä koskaan - se syyllistyi valtiopetokseen 1918

      kun aloittivat kapinan maan laillista valtiojärjestystä vastaan. Punaiset saivat tukea Neuvosto-Venäjän bolsevikeilta,
      Maailman menoa
      64
      1408
    7. Iski taas katumus kun en jutellut sun kanssa

      Silloin kun halusit. Mutta en enää voi sille mitään, en saa muutettua sitä hetkeä..
      Ikävä
      128
      1329
    8. Kyriake=Kirkko

      Kirkko, Kyriake Kirkko-sana tulee kreikankielen sanasta Kyriake=Herran omat, Kristuksen omaksi kastettujen suuri joukko
      Kaste
      93
      1016
    9. Uusi mahdollisuus

      Mitä tekisit toisin, jos saisit siihen mahdollisuuden?
      Ikävä
      71
      911
    10. Odotanko ihan

      Turhaan jotain välillemme?
      Ikävä
      40
      838
    Aihe