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
831
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
Suureksi onneksesi on myönnettävä
Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️851758Perusmuotoiset TV-lähetykset loppu
Nyt sanoo useiden HD-muotoistenkin kanavien kohdalla äly-TV, ettei kanava ole käytössä, haluatko poistaa sen? Kanavia1201174YLE Äänekosken kaupunginjohtaja saa ankaraa arvostelua
Kaupungin johtaja saa ankaraa kritiikkiä äkkiväärästä henkilöstöjohtamisestaan. Uusin häirintäilmoitus päivätty 15 kesä581036- 62926
Hyvin. Ikävää nainen,
Että vainoat ja stalkkaat miestäni.onko tarkoituksesi ehkä saada meidät eroamaan?no,siinä et tule onnistumaan74836- 57790
Uskomaton tekninen vaaliliitto poimii rusinoita pullasta
Korni näytösesitelmä menossa kaupunginvaltuustossa. Juhlia ei ole kokouksista tiedossa muilla, kuin monipuolue paikalli78789Linnasuolla poliisi operaatio
Kamalaa menoa taas meidän ihanassa kaupungissa. https://www.uutisvuoksi.fi/paikalliset/864606029786Missä kaikessa olet erilainen
Kuin kaivattusi? Voin itse aloittaa: en ole vegaani kuten hän. Enkä harrasta tietokonepelejä lainkaan.39757Katsoin mies itseäni rehellisesti peiliin
Ja pakko on myöntää, että rupsahtanut olen 😆. Niin se ikä saavuttaa meidät kaikki.43756