11_03_2006 kysytty

epäonnistui

Sain tämän makron Kundelta ja silloin se tuntui toimivan pienellä muutoksella poistin silloin kohdan "SearchFormat:=False" koska makro herjasi siitä, mutta nyt ilmeni uusi ongelma se ei kopioi kuin erä 2 asti jonka jälkeen ei enää kopiointi toimi.
Tuli nyt vasta eteen kun vuoden vaihde lähestyy ja ajattelin ottaa makron käyttöön.

Sub Kopioi()
Dim Vika As Integer
Dim Haettava As Range
Dim Haettava2 As Range
Dim Hakualue As Range
Dim Löydetty As Range
Dim EkaSolu As String
Sheets("Syöttö").Activate
Set Haettava = Range("M9")
Set Haettava2 = Range("O6")
Sheets("Data").Activate
Vika = Range("B65536").End(xlUp).Row

Set Hakualue = Range("B1:B" & Vika)
Range("B1").Select
Set Löydetty = Hakualue.Find(What:=Haettava, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
If Not Löydetty Is Nothing Then
EkaSolu = Löydetty.Address
If Löydetty.Offset(0, 3) = Haettava2 Then
MsgBox "Tiedot on jo olemassa", vbInformation
Exit Sub
Else
Do
Set Löydetty = Hakualue.FindNext(Löydetty)
If Löydetty.Offset(0, 3) = Haettava2 Then
MsgBox "Tiedot on jo olemassa", vbInformation
Exit Sub
End If
Loop While Not Löydetty Is Nothing And Löydetty.Address EkaSolu
Range("B" & Vika 1) = Haettava
Range("B" & Vika 1).Offset(0, 3) = Haettava2
End If
End If
End Sub

8

518

    Vastaukset 8

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • epäonnistui

      Saakohan tähän mitään neuvoa??

    • epäonnistui

      Vai onko minussa vika? =)
      Olisi mukavaa tietää miksi jouduin poistamaan SearchFormat:=False ja aluksi se tuntui toimivan ainakin erä 2 asti en ole varma koetinko silloin suurempaa erää.

    • epäonnistui

      Asia korjantui "SearchFormat:=False" osalta kun otin uudemman excelin käyttöön Excel 2003, mutta siltin se lopettaa erä 2 kohdalla?

      • epäonnistui

        Nyt toimii tämä niin kuin pitääkin mutta vikana on vuodenvaihtuminen, elikä se ei huoli uutta vuotta ja erien alkamista alusta.


      • epäonnistui kirjoitti:

        Nyt toimii tämä niin kuin pitääkin mutta vikana on vuodenvaihtuminen, elikä se ei huoli uutta vuotta ja erien alkamista alusta.

        sorry, etten ollut huomannut aikaisemmin kyselyäsi...
        tässä korjattu versio ;-)
        Sub Kopioi()
        Dim Vika As Integer
        Dim Haettava As Range
        Dim Haettava2 As Range
        Dim Hakualue As Range
        Dim Löydetty As Range
        Dim EkaSolu As String
        Sheets("Syöttö").Activate
        Set Haettava = Range("M9")
        Set Haettava2 = Range("O6")
        Sheets("Data").Activate
        Vika = Range("B65536").End(xlUp).Row

        Set Hakualue = Range("B1:B" & Vika)
        Range("B1").Select
        Set Löydetty = Hakualue.Find(What:=Haettava, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False)
        If Not Löydetty Is Nothing Then
        EkaSolu = Löydetty.Address
        If Löydetty.Offset(0, 3) = Haettava2 Then
        MsgBox "Tiedot on jo olemassa", vbInformation
        Exit Sub
        Else
        Do
        Set Löydetty = Hakualue.FindNext(Löydetty)
        If Löydetty.Offset(0, 3) = Haettava2 Then
        MsgBox "Tiedot on jo olemassa", vbInformation
        Exit Sub
        End If
        Loop While Not Löydetty Is Nothing And Löydetty.Address EkaSolu
        Range("B" & Vika 1) = Haettava
        Range("B" & Vika 1).Offset(0, 3) = Haettava2
        End If
        Else
        Range("B" & Vika 1) = Haettava
        Range("B" & Vika 1).Offset(0, 3) = Haettava2
        End If
        End Sub


      • kyselijä
        kunde kirjoitti:

        sorry, etten ollut huomannut aikaisemmin kyselyäsi...
        tässä korjattu versio ;-)
        Sub Kopioi()
        Dim Vika As Integer
        Dim Haettava As Range
        Dim Haettava2 As Range
        Dim Hakualue As Range
        Dim Löydetty As Range
        Dim EkaSolu As String
        Sheets("Syöttö").Activate
        Set Haettava = Range("M9")
        Set Haettava2 = Range("O6")
        Sheets("Data").Activate
        Vika = Range("B65536").End(xlUp).Row

        Set Hakualue = Range("B1:B" & Vika)
        Range("B1").Select
        Set Löydetty = Hakualue.Find(What:=Haettava, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False)
        If Not Löydetty Is Nothing Then
        EkaSolu = Löydetty.Address
        If Löydetty.Offset(0, 3) = Haettava2 Then
        MsgBox "Tiedot on jo olemassa", vbInformation
        Exit Sub
        Else
        Do
        Set Löydetty = Hakualue.FindNext(Löydetty)
        If Löydetty.Offset(0, 3) = Haettava2 Then
        MsgBox "Tiedot on jo olemassa", vbInformation
        Exit Sub
        End If
        Loop While Not Löydetty Is Nothing And Löydetty.Address EkaSolu
        Range("B" & Vika 1) = Haettava
        Range("B" & Vika 1).Offset(0, 3) = Haettava2
        End If
        Else
        Range("B" & Vika 1) = Haettava
        Range("B" & Vika 1).Offset(0, 3) = Haettava2
        End If
        End Sub

        Minulla on siinä syöttö taulussa enemmänkin tietoa miten nämä saadaan makroon?

        Function tallennatiedot(paikka)
        Set Data = Sheets("Data").Range("A2")
        Set Data = Data.Offset(paikka, 0)
        Sheets("Data").Rows(paikka 2).ClearContents' pistetaan tietoa
        With ActiveSheet
        Data.Offset(0, 1) = .Range("O6") ' Erä
        Data.Offset(0, 2) = .Range("M9") ' Vuosi
        Data.Offset(0, 3) = .Range("D9")
        Data.Offset(0, 4) = .Range("I9")
        Data.Offset(0, 5) = .Range("A13")
        Data.Offset(0, 6) = .Range("I13")
        Data.Offset(0, 7) = .Range("L16")
        Data.Offset(0, 8) = .Range("L17")
        Data.Offset(0, 9) = .Range("M16")
        jne.....


      • kyselijä kirjoitti:

        Minulla on siinä syöttö taulussa enemmänkin tietoa miten nämä saadaan makroon?

        Function tallennatiedot(paikka)
        Set Data = Sheets("Data").Range("A2")
        Set Data = Data.Offset(paikka, 0)
        Sheets("Data").Rows(paikka 2).ClearContents' pistetaan tietoa
        With ActiveSheet
        Data.Offset(0, 1) = .Range("O6") ' Erä
        Data.Offset(0, 2) = .Range("M9") ' Vuosi
        Data.Offset(0, 3) = .Range("D9")
        Data.Offset(0, 4) = .Range("I9")
        Data.Offset(0, 5) = .Range("A13")
        Data.Offset(0, 6) = .Range("I13")
        Data.Offset(0, 7) = .Range("L16")
        Data.Offset(0, 8) = .Range("L17")
        Data.Offset(0, 9) = .Range("M16")
        jne.....

        Nythän koodi hakee B sarakkeesta vuosilukua ja erää ja jos ei löydy niin tekee uuden rivin.
        eli
        Range("B" & Vika 1) = Haettava ’M9 ja se tulee B sarakkeeseen
        Range("B" & Vika 1).Offset(0, 3) = Haettava2 ’O6 ja se tulee E sarakkeeseen
        Range("B" & Vika 1).Offset(0, 4) = Sheets("Syöttö").Range("D9") ja se tulee E sarakkeeseen
        jne...

        offset on 0 pohjainen joten
        Range("B" & Vika 1).Offset(0, 0) on sama solu kuin Range("B" & Vika 1)
        Range("B10").Offset(1, 3)=E11
        jne...


      • kyselijä
        kunde kirjoitti:

        Nythän koodi hakee B sarakkeesta vuosilukua ja erää ja jos ei löydy niin tekee uuden rivin.
        eli
        Range("B" & Vika 1) = Haettava ’M9 ja se tulee B sarakkeeseen
        Range("B" & Vika 1).Offset(0, 3) = Haettava2 ’O6 ja se tulee E sarakkeeseen
        Range("B" & Vika 1).Offset(0, 4) = Sheets("Syöttö").Range("D9") ja se tulee E sarakkeeseen
        jne...

        offset on 0 pohjainen joten
        Range("B" & Vika 1).Offset(0, 0) on sama solu kuin Range("B" & Vika 1)
        Range("B10").Offset(1, 3)=E11
        jne...

        Elikä joudunko minä kirjoittamaan kaikki kopioitavat kohteet kolmeen kertaan tähän makroon?
        Enkö voi kutsua kohteita makrossa?
        Tämäkään ei vielä toimi elikä kun on sama erä samalle vuodelle sen kuuluu kysyä tallennetaanko päälle ja jos vastaa kyllä niin se tekee tallennuksen mutta mun kokeiluni tekee vain silloin kun se on viimeinen tallennus elikä ”vika”.
        Miten korjaan?

        Älkää hermostuko mulle mutta olen vielä taitamaton ja siksi jään ellei jakseta neuvoa.

        Minä olen muuttanut alkuperäisen kyselyni jälkeen noita kohteita M9 ja O6.

        Sub Kopioi()
        Dim Vika As Integer
        Dim Haettava2 As Range
        Dim Haettava As Range
        Dim Hakualue As Range
        Dim Löydetty As Range
        Dim EkaSolu As String
        Sheets("Syöttö").Activate
        Set Haettava2 = Range("M9")
        Set Haettava = Range("O6")
        Sheets("Data").Activate
        Vika = Range("B65536").End(xlUp).Row

        Set Hakualue = Range("B1:B" & Vika)
        Range("B1").Select
        Set Löydetty = Hakualue.Find(What:=Haettava, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False) ',SearchFormat:=False)
        If Not Löydetty Is Nothing Then
        EkaSolu = Löydetty.Address
        If Löydetty.Offset(0, 3) = Haettava2 Then
        MsgBox "Tiedot on jo olemassa", vbInformation
        Exit Sub
        Else
        Do
        Set Löydetty = Hakualue.FindNext(Löydetty)
        If Löydetty.Offset(0, 1) = Haettava2 Then
        Msg = "Erä on jo olemassa! " & "Haluatko tallentaa vanhan päälle!"
        response = MsgBox(Msg, vbYesNo)
        If response = vbYes Then Range("B" & Vika).Offset(0, 2) = Sheets("Syöttö").Range("D9")
        Range("B" & Vika).Offset(0, 4) = Sheets("Syöttö").Range("A13")
        Range("B" & Vika).Offset(0, 5) = Sheets("Syöttö").Range("L16")
        Exit Sub
        End If
        Loop While Not Löydetty Is Nothing And Löydetty.Address EkaSolu
        Range("B" & Vika 1) = Haettava
        Range("B" & Vika 1).Offset(0, 1) = Haettava2
        Range("B" & Vika 1).Offset(0, 2) = Sheets("Syöttö").Range("D9")
        Range("B" & Vika 1).Offset(0, 4) = Sheets("Syöttö").Range("A13")
        Range("B" & Vika 1).Offset(0, 5) = Sheets("Syöttö").Range("L16")
        End If
        Else
        Range("B" & Vika 1) = Haettava
        Range("B" & Vika 1).Offset(0, 1) = Haettava2
        Range("B" & Vika 1).Offset(0, 2) = Sheets("Syöttö").Range("D9")
        Range("B" & Vika 1).Offset(0, 4) = Sheets("Syöttö").Range("A13")
        Range("B" & Vika 1).Offset(0, 5) = Sheets("Syöttö").Range("L16")

        End If
        End Sub


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

    Luetuimmat keskustelut

    1. Riikka Purra on mukana Suomen huutokauppakeisari -sarjassa

      Suomen huutokauppakeisari on tavallisten suomalaisten ohjelma. Sarjan suosiosta kertoo se, että nyt alkaa jo 19. kausi t
      Maailman menoa
      192
      1703
    2. Kuuleppas

      ensimmäiset naissuhteet toimii miehelle eräänlaisena oppikouluna, mutta hän ei välttämättä itse ymmärrä oppineensa mitää
      Ikävä
      259
      1159
    3. Mulla ei ole Suomessa enää mitään

      4 vuotta joutuu asumaan henkisessä vankilassa. Sitten voi muuttaa takaisin ulkomaille.
      Turku
      180
      847
    4. Kuinka nainen jaksat ja voit

      Toivottavasti hyvin.
      Ikävä
      43
      741
    5. Provider miehistä..

      Tietyt miehet puhuvat ilkeästi naisista, jotka haluavat elää miehen tuloilla. Eikö? Mutta miksi tietyt miehet siitä pah
      Ikävä
      223
      738
    6. Ethän mies vielä

      luovu meistä? Haluaisin jo sun syliin.
      Ikävä
      61
      728
    7. Sinulle nainen

      En ehkä koskaan osannut sanoa tätä oikein. Minun vaikeuteni luottaa liittyi ennen kaikkea menettämisen pelkoon. Siihen
      Ikävä
      63
      705
    8. Sut.

      Tuhotaan. :)
      Tunteet
      76
      628
    9. Hei rakkaani.

      Kohtaaminen lähestyy. Miten teemme sen? Kumpi ottaa yhteyttä vai törmäämmekö jossain sattumalta? Tuleva vaimosi
      Ikävä
      50
      603
    10. Yt:t kunnassa päättyi

      Oliko nämä tarpeelliset ja ratkeaako taloushuolet näiden avulla? Lehdessä ilmoitettujen lukujen perusteella lisää on tul
      Lappajärvi
      70
      600
    11. Tiedätkö sitä

      Että sinun äänesi on ihanan pehmeä
      Ikävä
      40
      596
    12. Haaveilen edelleen

      Sinusta aika ajoin
      Ikävä
      38
      593
    13. Ethän voinut nainen tietää, että rikot rikotun

      Omaa elämää taas mietin aamuyön tunteina. En vieläkään löytänyt muistin sokkeloista ainuttakaan onnen hetkeä. Kaipuu on
      Ikävä
      68
      590
    14. Gallup: Kansalaiset eivät usko velkajarruun

      Puolet suomalaisista ei usko velkajarrun vaatimien sopeutusten toteutuvan, kertoo Iro Researchin kyselytutkimus. Kokoom
      Maailman menoa
      60
      558
    15. 31
      538
    16. Martsusta tuli leuhka

      Ja ylimielinen. Hän ei nosta persettäkään ilmaseksi . Luulempa et nämä ei tee hyvää hyvinvointivalmennuksille.... Nannal
      Kotimaiset julkkisjuorut
      182
      534
    17. Mä oon kallistumassa

      Rikosilmoitukseen!
      Suhteet
      90
      532
    18. Tulisitpa käymään joskus vielä

      Olisi niin kiva nähdä pitkästä aikaa. Oletko vielä joskus tulossa?... Niin monet muutoksen tuulet puhaltavat, olisi lohd
      Ikävä
      24
      526
    19. Lämpimiä katseita aikoinaan vaihdettiin, siihen se sitten jäi

      Sinulla uudet tuulet ja välttelet kohtaamistamme.
      Ikävä
      30
      497
    20. Poromiehentien remontti ...

      Mikä tilanne? mistä mennään
      Hyrynsalmi
      6
      483
    Aihe