Käytössä xp pro excel 2003.
Yritän tehdä makroa joka laskee solun arvon mukaan kaavalla.
Negatiivisellä arvolla G$7-ko.solun arvo-I$1.
Positiivisellä arvolla G$7 ko.solun arvo I$1.
Nolla-arvolla G$7.
Alla kokeilun tulos (eipä toimi..):
Sub koe()
Dim Lähdealue2 As Range
Dim vika2 As Integer
vika2 = Range("D65536").End(xlUp).Row
Set Lähdealue2 = Range("D5:D" & vika2)
Range("K5").Select
For i = 1 To Lähdealue2.Count
ActiveCell = Lähdealue2(i)
If ActiveCell.Value = "" Then
ActiveCell.FormulaR1C1 = "=R[2]C[-4] RC[-7]"
If ActiveCell.Value > "0" Then
ActiveCell.FormulaR1C1 = "=R[2]C[-4]"
If ActiveCell.Value < "0" Then
ActiveCell.FormulaR1C1 = "=R7C[-4]-RC[-7]-R1C[-2]"
ActiveCell.Offset(1, 0).Select
End If
End If
End If
Next
Range("A1").Select
End Sub
Oliskohan kenelläkään vinkkiä asiaan?
Ehdollinen laskenta
12
832
Vastaukset
- ...
Ainakin lainausmerkit pois nollan ympäriltä.
- \\kyselee apuja
Otin lainausmerkit pois, eipä auttanut.
Tulos tuli vain K5 soluun (ja sekin väärin).
Olisiko lisää ehdotuksia, kaikki vinkit otetaan kiitollisuudella vastaan. - ...
\\kyselee apuja kirjoitti:
Otin lainausmerkit pois, eipä auttanut.
Tulos tuli vain K5 soluun (ja sekin väärin).
Olisiko lisää ehdotuksia, kaikki vinkit otetaan kiitollisuudella vastaan.Pari elseä lisää: Else If ActiveCell
Toinen ongelma on, että kaava sijoitetaan samaan soluun, jossa on luku ennestään. - \\kyselee apuja
... kirjoitti:
Pari elseä lisää: Else If ActiveCell
Toinen ongelma on, että kaava sijoitetaan samaan soluun, jossa on luku ennestään.Lähtötiedot ovat solusta D5 alaspäin, tulokset laskennasta haluaisin solusta K5 alaspäin. Ennen laskentaa solu ompi tyhjä.
- ...
\\kyselee apuja kirjoitti:
Lähtötiedot ovat solusta D5 alaspäin, tulokset laskennasta haluaisin solusta K5 alaspäin. Ennen laskentaa solu ompi tyhjä.
For Each solu In Lähdealue2
arvo = solu.Value
If arvo = 0 Then
ActiveCell.FormulaR1C1 = "=R[2]C[-4] RC[-7]"
Else If arvo > 0 Then
ActiveCell.FormulaR1C1 = "=R[2]C[-4]"
Else If arvo < 0 Then
ActiveCell.FormulaR1C1 = "=R7C[-4]-RC[-7]-R1C[-2]"
End If
End If
End If
ActiveCell.Offset(1, 0).Select
Next
? - \\kyselee apuja
... kirjoitti:
For Each solu In Lähdealue2
arvo = solu.Value
If arvo = 0 Then
ActiveCell.FormulaR1C1 = "=R[2]C[-4] RC[-7]"
Else If arvo > 0 Then
ActiveCell.FormulaR1C1 = "=R[2]C[-4]"
Else If arvo < 0 Then
ActiveCell.FormulaR1C1 = "=R7C[-4]-RC[-7]-R1C[-2]"
End If
End If
End If
ActiveCell.Offset(1, 0).Select
Next
?tulipa compile error for without next.
hmm..ei tämä ollutkaaan helppoa...mitähän seuraavaksi....netistä yrittänyt apua löytää, ilman mainittavaa menestystä.. \\kyselee apuja kirjoitti:
tulipa compile error for without next.
hmm..ei tämä ollutkaaan helppoa...mitähän seuraavaksi....netistä yrittänyt apua löytää, ilman mainittavaa menestystä..kyllä se siitä treenaamalla...
Sub koe()
Dim Lähdealue2 As Range
Dim vika2 As Integer
vika2 = Range("D65536").End(xlUp).Row
Set Lähdealue2 = Range("D5:D" & vika2)
For Each solu In Lähdealue2
Select Case solu
Case Is > 0
solu.Offset(0, 7) = Val(Range("G7")) Val(solu) Val(Range("I1"))
Case Is < 0
solu.Offset(0, 7) = Val(Range("G7")) - Val(solu) - Val(Range("I1"))
Case 0
solu.Offset(0, 7) = Val(Range("G7"))
End Select
Next
End Sub- \\kyselee apuja
kunde kirjoitti:
kyllä se siitä treenaamalla...
Sub koe()
Dim Lähdealue2 As Range
Dim vika2 As Integer
vika2 = Range("D65536").End(xlUp).Row
Set Lähdealue2 = Range("D5:D" & vika2)
For Each solu In Lähdealue2
Select Case solu
Case Is > 0
solu.Offset(0, 7) = Val(Range("G7")) Val(solu) Val(Range("I1"))
Case Is < 0
solu.Offset(0, 7) = Val(Range("G7")) - Val(solu) - Val(Range("I1"))
Case 0
solu.Offset(0, 7) = Val(Range("G7"))
End Select
Next
End SubKokeilenpa huomenna, kun saan widoosakoneen taas käsiini.
Kiitän makrosta jo etukäteen.
Kunde, muistaakseni avaat omat excel-sivut jossain vaiheessa? \\kyselee apuja kirjoitti:
Kokeilenpa huomenna, kun saan widoosakoneen taas käsiini.
Kiitän makrosta jo etukäteen.
Kunde, muistaakseni avaat omat excel-sivut jossain vaiheessa?joo kyllä Kunden portaali aukeaa virallisestikin kevään aikana. Varmuuskopiot serveriltä vaan menivät "vituiksi" ja joudun manuaalisesti tekeen juttuja uusiksi. Portaaliin tulee aluksi osiot CAD/CAM/CNC, EXCEL(myöhemmin muut officejutskat) ja MATKAILU lähinnä nyt THAIMAA (Khorat ja Pattaya). Varsinkin CAD/CAM/CNC osaajat voisivat lähettää mulle mailia [email protected]
KEEP EXCELING
Kunde- \\kyselee apuja
kunde kirjoitti:
joo kyllä Kunden portaali aukeaa virallisestikin kevään aikana. Varmuuskopiot serveriltä vaan menivät "vituiksi" ja joudun manuaalisesti tekeen juttuja uusiksi. Portaaliin tulee aluksi osiot CAD/CAM/CNC, EXCEL(myöhemmin muut officejutskat) ja MATKAILU lähinnä nyt THAIMAA (Khorat ja Pattaya). Varsinkin CAD/CAM/CNC osaajat voisivat lähettää mulle mailia [email protected]
KEEP EXCELING
KundeKerro sitten tarkemmin kun saat portaalin auki, kiitos.
Makrosta vielä:
D6 0.03 G7 236.02 I1 9.44 tulokseksi antaa (K5) 236.00
Olisiko mahdollista saa desimaaleja mukaan? \\kyselee apuja kirjoitti:
Kerro sitten tarkemmin kun saat portaalin auki, kiitos.
Makrosta vielä:
D6 0.03 G7 236.02 I1 9.44 tulokseksi antaa (K5) 236.00
Olisiko mahdollista saa desimaaleja mukaan?nyt desimaalitkin mukana ;-)
Sub koe()
Dim Lähdealue2 As Range
Dim vika2 As Integer
vika2 = Range("D65536").End(xlUp).Row
Set Lähdealue2 = Range("D5:D" & vika2)
For Each solu In Lähdealue2
Select Case solu
Case Is > 0
solu.Offset(0, 7) = CDbl(Range("G7")) CDbl(solu) CDbl(Range("I1"))
Case Is < 0
solu.Offset(0, 7) = CDbl(Range("G7")) - CDbl(solu) - CDbl(Range("I1"))
Case 0
solu.Offset(0, 7) = CDbl(Range("G7"))
End Select
Next
End Sub- \\kyselee apuja
kunde kirjoitti:
nyt desimaalitkin mukana ;-)
Sub koe()
Dim Lähdealue2 As Range
Dim vika2 As Integer
vika2 = Range("D65536").End(xlUp).Row
Set Lähdealue2 = Range("D5:D" & vika2)
For Each solu In Lähdealue2
Select Case solu
Case Is > 0
solu.Offset(0, 7) = CDbl(Range("G7")) CDbl(solu) CDbl(Range("I1"))
Case Is < 0
solu.Offset(0, 7) = CDbl(Range("G7")) - CDbl(solu) - CDbl(Range("I1"))
Case 0
solu.Offset(0, 7) = CDbl(Range("G7"))
End Select
Next
End SubToimii hienosti, eikä ole mitään anteeksipyydettävää vapaaehtoisesta avusta.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Useita puukotettu Tampereella
Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht2244312Kuka rääkkää eläimiä Puolangalla?
Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii702777Asiakas iski kaupassa varastelua tehneen kanveesiin.
https://www.iltalehti.fi/kotimaa/a/33a85463-e4d5-45ed-8014-db51fe8079ec Oikein. Näin sitä pitää. Kyllä kaupoissa valtava3942443- 472363
Meneeköhän sulla
oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua431657Muutama kysymys ja huomio hindulaisesta kulttuurista.
Vedakirjoituksia pidetään historiallisina teksteinä, ei siis "julistuksena" kuten esimerkiksi Raamattua, vaan kuten koul5551406- 571340
Jos ei tiedä mitä toisesta haluaa
Älä missään nimessä anna mitään merkkejä kiinnostuksesta. Ole haluamatta mitään. Täytyy ajatella toistakin. Ei kukaan em961334- 781329
Jumala puhui minulle
Hän kertoi sinusta asioita, joiden takia jaksan, uskon ja luotan. Hän kuvaili sinua minulle ja pakahduin onnesta kuulles1251206