Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: Lukujen siirto sarakkeesta riville

Heglund [13.02.2013 19:41:14]

#

Hei! Tässä taas sellainen pulma, jota en ymmärrä! Haluan siitää kirjaimia pysty sarakkeelta -> vaakariville. Tässä on koodi pätkä ja excel herjaa dbuggia Cells kohdassa?

Sub Siirto()
    Raw As String
    Dim Col As String
    For i = 2 To 24
        Raw = Range("B" & i).Value
        Col = Raw
        Cells("26,2" & i).Value = Col
    Next
End Sub

Mod. lisäsi kooditagit!

neau33 [13.02.2013 20:25:29]

#

Moi Heglund!

Täytyy kyllä sanoa etten minäkään ymmärrä, mutta jos halusit kopioida sarakkeen B rivien 2 - 24 solujen arvot rivin 26 sarakkeisiin alkaen sarakkeesta 4 niin juttu onnistuisi näin mikäli et ole määritellyt erikseen laskentataulukon solualueita niin, että jokin arvo sattusi olemaan ristiriidassa

Sub Siirto()
    For i = 2 To 24
        Cells(26, 2 + i).Value = Range("B" & CStr(i)).Value
    Next
End Sub

Heglund [13.02.2013 22:17:00]

#

Ja taas toimii :) Olet sinä ihme epeli :D Luulin itse osaavani tuon, mutta joku kumma oli taas vikana omassa koodissani :D No harjoitus tekee mestariksi :)

Metabolix [13.02.2013 22:46:23]

#

Heglund kirjoitti:

mutta joku kumma oli taas vikana omassa koodissani :D

Ei ehkä olisi niin "kumma", jos vähän lukisit uutta koodia ja vanhaa koodia ja tunnistaa niistä eroja – esimerkiksi mitä kohdissa Cells(...) ja Range(...) tarkalleen lukee ja miten &-operaatiota on (tai ei ole) käytetty ja miten yhteenlasku onnistuu (tai ei onnistu). Muut virheet voin jotenkin ymmärtää, mutta ei kai nyt kukaan voi vakavissaan odottaa, että "2" & i tuottaisi vastaavan tuloksen kuin i + 2. Myös virheilmoitusten lukeminen auttaa virheiden ratkaisemisessa, kai nyt VBA:stakin saa irti jotain tarkempaa kuin "tuntematon virhe rivillä X".

Parempaa onnea jatkossa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta