Miten VBA:lla...

Elikkäs miten saisin helpointen tehtyä vba ohjelmaan seuraavan kaltaisen toiminnon.
Ohjelman pitäisi kopioida tietty solualue(esim A1:B23) ja littää se toiseen taulukkoon samaan kohtaan(A1:B23), siten että alueella olevat tyhjät rivit eivät tulisi mukaan. Lisäksi pitäisi vielä saada tarkastettua onko kyseinen alue tyhjä ja jos ei ole niin sitten kopiointi alueen viereen(C1:D23)ja jos sekään ei tyhjä niin taas viereen jne. jne.

Tässä pulma jota en saa omilla vähäisillä taidoillani ratkaistua...
2399
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

aika simppelisti toi onnistuu excelin omilla erikoistoiminnoilla...

Sub Siirrä()
Dim KopioAlue As Range 'kopioitava alue
Dim SiirtoAlue As Range ' kohdealue
Dim EiTyhjiäAlue As Variant ' eityhjiä rivejä originaali kopioitava alue
On Error Resume Next
Set KopioAlue = Sheets("Originaali").Range("A1:B23") 'muuta kopioitavan taulukonnimi
KopioAlue.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True ' tyhjät piilotetaan
Set EiTyhjiäAlue = KopioAlue.SpecialCells(xlCellTypeVisible) ' kopioidaan vain näkyvät
Set SiirtoAlue = Sheets("Kopio").Range("A1:B23") ' muuta kohdetaulukon nimi
If WorksheetFunction.CountA(SiirtoAlue) = 0 Then 'onko kohdealue tyhjä...
EiTyhjiäAlue.Copy Destination:=SiirtoAlue ' kopioidaan tiedot
Else ' jos ei niin etsitään eka tyhjä oikealle
EiTyhjiäAlue.Copy Destination:=SiirtoAlue.End(xlToRight).Offset(0, 1) ' kopioidaan tiedot
End If
KopioAlue.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False ' tyhjät näkyviin taas
End Sub

keep excelling!

Äänestä
  • Kiitos ja kumarrus, itseltä ei toi kovin äkkiä olisikaan onnistunut....

    Äänestä

Kommentoi aloitusta


tehdään kirjoitti:

Elikkäs miten saisin helpointen tehtyä vba ohjelmaan seuraavan kaltaisen toiminnon.
Ohjelman pitäisi kopioida tietty solualue(esim A1:B23) ja littää se toiseen taulukkoon samaan kohtaan(A1:B23), siten että alueella olevat tyhjät rivit eivät tulisi mukaan. Lisäksi pitäisi vielä saada tarkastettua onko kyseinen alue tyhjä ja jos ei ole niin sitten kopiointi alueen viereen(C1:D23)ja jos sekään ei tyhjä niin taas viereen jne. jne.

Tässä pulma jota en saa omilla vähäisillä taidoillani ratkaistua...

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