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
863
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
Eutanasia?
Kertokaas omia mielipiteitä eutanasiaan liittyen. Onko mielestäsi oikein vai väärin ja miksi?712406Eutanasia - miksi eläimelle sallitaan armokuolema, mutta ihmiselle ei?
Olen pitkään ihmetellyt yhtä asiaa Suomessa. Kun koira kärsii parantumattomasta sairaudesta ja kovista kivuista, eläinlä411173Riikka Purran kaudella nousi bensan hinta yli 2 euron
Muistatteko kuinka edellisen vasemmistohallituksen aikana, ns. Marinin aikakaudella, bensiiniä sai 1,3 euron litrahinnal1755095Veli Sofia teki urosmehiläisen työn
Paljastaessaan kuinka TPS:ssä ei joukkuehenki toimi sooloilijoiden vuoksi, jonka takia koko seura ei pärjää kilpailussa283709Mitäs nyt sijoittajat?
Pörssit laskevat maailmalla Iranin sodan takia ja muutenkin ovat olleet Trumpin vallan alla epävarmat. Ainoa, mikä on no1963544Hjallis Harkimon, 72, Jasmine-rakas, 37, paljastaa suhteen alusta: "Vähän..."
Liikemies, kansanedustaja Hjallis Harkimo ja tuottaja-juontaja Jasmine Pajari ovat pariskunta. He asuvat yhdessä Sipooss473094Unisex-vessat
Ahdistaa. Miksi kaikki pitää tasapäistää tasa-arvon nimissä? Tasa-arvo on sitä, että kunnioitetaan sukupuolien erilaisu1082829Jäit kiinni siitä
että katselet minua. Käänsin pääni, minäkin etsin sinua, ja meidän katseemme kohtasivat. Eikä se haittaa - molemmat ky132358Sosiaalidemokratia romahtanut kautta maailman
nuoret eivät enää kannata järjetöntä aatetta, joten demarien täytyy hakea kannattajia mamuista. Ruotsin sos.demit jo kie392138Jutta Larm, 52, haluaa kumota tämän piintyneen ikämyytin
Oletko samaa mieltä? Jutta Larm on 52-vuotias ja tehnyt pitkän uran yrittäjänä. Hän haluaa kumota tämän piintyneen ikämy191955