Monthly Archives: July 2014

Alueen täyttö

Halutessasi voit täyttää nopeasti valitsemasi alue samoilla tiedoilla tai kopioida kaava alueelle seuraavasti:
1. Valitse alue
2. Kirjoita tieto
3. Paina Ctrl – näppäin alas ja pidä alhaalla
4. Paina Enter

Kaavan kopioit samalla menettelyllä seuraavasti:

1. Valitse alue
2. Kirjoita kaava
3. Paina Ctrl – näppäin alas ja pidä alhaalla
4. Paina Enter.
Riippuen miten olet kirjoittanut soluviittaukset, ne sovitetaan aina kyseiseen soluun johon kaava kopioituu.
(Esim. D1 kaava =A1+B1 muuttuu solussa D2 kaavaksi =A2+B2)

Jos sinulla on jo valmis kaava ja haluat sen kopioida alueelle teet sen seuraavasti:
1. Valitse alue lähtien solusta jossa kaava
2. Paina F2 (aktivoi solun)
3. Paina Ctrl – näppäin alas ja pidä alhaalla
4. Paina Enter.
Yllämainittu tapa on kätevä esim. kun haluat kopioida kaavan useammalle riville ja sarakkeelle samanaikaisesti.

 

Eroon jako/0 ilmoituksesta

Mikäli jaetaan luku nollalla (0) tai tyhjällä solulla saadaan virheilmoitus #Jako/0! (#Div/0!).
Lomakepohjissa tämä saattaa olla riesa ja kauneusvirhe josta halutaan päästä eroon.

Helpoin tapa on käyttää funktiota JOSVIRHE (IFERROR).
Eli esimerkiksi jos jaetaan solu A1 solulla B1 ja soluun C1 halutaan jakotulos mutta ei virheilmoitusta niissä tapauksissa jossa B1 on nolla tai tyhjä. Tällöin kaava C1:ssä olisi seuraavan lainen =JOSVIRHE (A1/B1;””), =IFERROR(A1/B1;””).

 

 

 

Kahden solun yhdistäminen

Yhdistetään A ja B sarakkeen solut ja laitetaan välilyönti väliin
Esim.:
Solussa A1 = Aku ja B1 = Ankka -> C1 = Aku Ankka
Funktioilla:
KETJUTA (CONCATENATE)
=KETJUTA(A1;” “;B1)
tai
=A1&” “&B1
(Välilyönti laitetaan kahden lainausmerkin väliin koska se on tekstiä kaavassa)

Makrolla voit tehdä sen esim. seuraavalla tavalla:

Sub Yhdista()
'ohjelma yhdistää A ja B sarakkeen solut C sarakkeeseen
 'lähdetään liikkeelle A1:stä (cells(1,1))
 'Cells parametreja muuttaen voidaan valita toinen lähtösolu ja
 'myös sarake jonne yhdistetty tulos laitetaan

Dim rwIndex As Long
Dim i As Long
'lasketaan täytettyjen solujen määrä A1:stä alaspäin
rwIndex = Sheets(1).Cells(1, 1).End(xlDown).Row
For i = 1 To rwIndex
     Cells(i, 3).Value = Cells(i, 1) & " " & Cells(i, 2)
Next
End Sub

 

 

Taulujen lajittelu työkirjassa

Silloin tällöin tulee tarve saada lajiteltua taulut aakkosjärjestykseen.
Sen voi tehdä seuraavalla makrolla:

Option Compare Text '( tarkoittaa että A = a)

Sub AakkostaTaulut()
Dim i As Long, j As Long, lngTaulujenMäärä As Long
    lngTaulujenMäärä = Sheets.Count
    On Error GoTo VirheH:
    For i = 1 To lngTaulujenMäärä – 1
        For j = i + 1 To lngTaulujenMäärä
            If Sheets(j).Name < Sheets(i).Name Then
                 Sheets(j).Move Before:=Sheets(i)
            End If
        Next
    Next
    Sheets(1).Select
VirheH:
End Sub