Makroapua tarvitaan

Tarvitsisin apua seuraavassa makroasiassa:
Tein makron, joka kopioi tietoa suodatuksen perusteella toiseen taulukkoon. Olen saanut räpellettyä nauhoittamalla seuraavan:

Selection.AutoFilter
Selection.AutoFilter Field:=7, Criteria1:="kissa"
Cells.Select
Selection.Copy
Workbooks.Open Filename:="\\palvelin\kotihakemisto\testi2.xls"
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Windows("testi.xls").Activate

Makro siis kopioi kaikki tiedot, joissa on kissa sarakkeessa 7.
Nyt haluaisin myös mukaan ehdon, että makro kopioisi niiden rivien tiedot, joiden sarakkeessa 7 lukee kissa mutta myös niiden, joiden sarakkeessa 8 lukee kissa. Nyt olen saanut aikaiseksi vain makron, joka kirjoittaa toisen yli.
2322
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Olet käyttänyt tässä pikasuodatusta ( AutoFilter ), voit kyllä laittaa tuohon toisen ehdon perään, mutta silloin ne suoritetaan niin että ensin suodataetaan eka ehto ja jäljelleoleville riveille sitten toinen ehto, lopputuloksena on että kumpikin ehto pitää olla oikein, eli ehto kissa JA kissa.

Selection.AutoFilter Field:=7, Criteria1:="kissa"
Selection.AutoFilter Field:=8, Criteria1:="kissa"

Nyt jää näkyviin rivit jossa lukee kissa ja kissa, esim rivi koira ja kissa ei näy .

Erikois suodatusta pitää käyttää, jos haluat että näkyy rivit jossa kissa on jommassa kummassa sarakkeessa, siis myös rivi koira ja kissa näkyy, eli ehto on kissa TAI kissa, esim:

G1 ja H1 = 7...........8.....
G2 ja H2 = kissa............
G3 ja H3 = .............kissa

ja makroon
Selection.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("G1:H3"), Unique:=False



Kirjoitit lisäksi näin:

> Nyt olen saanut aikaiseksi vain makron, joka kirjoittaa toisen yli.

jos tarkoitit että tuo makro kirjoittaa testi2.xls tietojen yli, niinhän se sinun makro tekee, mutta miten sinä haluaisit sen tekevän ?

Äänestä
  • Aivan, yli sen pitääkin kirjoittaa. Aikaisempi makro kun vetäisi ensimmäisten kissa-ehtojen yli tehdessään suodatusta. Suurkiitokset ohjeista, nyt suodatus toimii, kuten pitääkin!

    Äänestä

Kommentoi aloitusta


hiuksia jo raastava kirjoitti:

Tarvitsisin apua seuraavassa makroasiassa:
Tein makron, joka kopioi tietoa suodatuksen perusteella toiseen taulukkoon. Olen saanut räpellettyä nauhoittamalla seuraavan:

Selection.AutoFilter
Selection.AutoFilter Field:=7, Criteria1:="kissa"
Cells.Select
Selection.Copy
Workbooks.Open Filename:="\\palvelin\kotihakemisto\testi2.xls"
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Save
ActiveWorkbook.Close
Windows("testi.xls").Activate

Makro siis kopioi kaikki tiedot, joissa on kissa sarakkeessa 7.
Nyt haluaisin myös mukaan ehdon, että makro kopioisi niiden rivien tiedot, joiden sarakkeessa 7 lukee kissa mutta myös niiden, joiden sarakkeessa 8 lukee kissa. Nyt olen saanut aikaiseksi vain makron, joka kirjoittaa toisen yli.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu