• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Optellen+ delen (volgorde)

Status
Niet open voor verdere reacties.

Mati6n2

Gebruiker
Lid geworden
16 feb 2007
Berichten
78
Ik zie het maar niet.

volgende code:

Code:
Sub Dubbel_Raam()
    Dim c As Range
        For Each c In Selection
            c.Formula = c.offset(-3).Formula & "-83/2+15"

Hij moet dus de waarde -83 doen, nadien /2, +15

Nu moet hij dit in volgorde doen.

Ik heb al alles afzonderlijk gezet, met haakjes gewerkt maar hij doet het niet :mad:

Code:
Sub Dubbel_Raam()
    Dim c As Range
        For Each c In Selection
            c.Formula = c.offset(-3).Formula & "-83"
Next
    Dim a As Range
        For Each a In Selection
           a.Formula = a.Formula & "/2"

...

Wie weet dit wel :)
 
Code:
Sub Dubbel_Raam()
    Dim c As Range
        For Each c In Selection
            c.Formula = "(" & c.offset(-3).Formula & "-83)/2+15"
 
Zit logica in Wigi maar ze klopt blijkbaar niet helemaal, haakje verkeerd?

Ik zit wel met een ALS formula. Jij werkt nu met een IF, misschien dat hij daar het probleem ziet?

Hij geeft de formule weer in mijn cel
 
Laatst bewerkt:
Wat is de formule in

Code:
.offset(-3).Formula

of verschilt die per c?
 
Die is anders per cel

Code:
=ALS(Vollehoogte1="";"";Vollehoogte1)
 
En die

-83/2+15

moet toegepast worden op de ONWAAR tak van de ALS?
 
Snap ik even niet :

Ik plak de formule van 3 cellen hoger naar beneden.

Daar moet dan -83 op toegepast worden. Dan /2. Dan +15.

Dit doe ik door een druk op de knop.

Dat resultaat moet dan in die cel staan.

Moest je dit weten? :)
 
Je moet wel inzien dat de formule ook

""

kan opleveren. Waarmee je niet kan rekenen.
 
Je moet wel inzien dat de formule ook
""
kan opleveren. Waarmee je niet kan rekenen.

Dus ik kan die volgorde niet bepalen?

Hij doet dit hoor -83/2+15, maar dan van mekaar ipv mijn waarde elk afzonderlijk :( ?

Als ik die "waarde" -83 kan doen. Kan ik die waarde die ik nu uitkom toch ook /2 doen en +15.

Hij mag dan enkel geen rekening houden met die -83 die ervoor staat maar met de waarde zelf.

Of gaat dit ook niet? :(
 
Laatst bewerkt:
Wat wil je nu doen?

De formule

=ALS(Vollehoogte1="";"";Vollehoogte1)

aanpassen tot

=ALS(Vollehoogte1="";"";(Vollehoogte1-83)/2+15)

?
 
Juist Wigi. :) :( Hoe forceer ik dit in Vba?

Dus dat moet hij elke keer toepassen op de formule van 3 cellen erboven he :)

Help men dag nog te verbeteren wigi :)
 
Laatst bewerkt:
Code:
Sub Dubbel_Raam()
    Dim c As Range
    For Each c In Selection
        c.Formula = Replace(c.Offset(-3).Formula, "Vollehoogte1", "(Vollehoogte-83)/2+15")
    Next c
End Sub

Wigi
 
Ik vrees dat je nog niet volledig mee bent Wigi (maar toch bedankt voor de inspanning al)

De waarde Vollehoogte verschilt per cel.

Dus dat mag niet in mijn code voorkomen aangezien ik dit nog op meerde waarden moet toepassen.

Vollehoogte2, vollehoogte3, ... t.e.m. 18

Wanneer ik je Formule toepas, zegt hij NAAM? ook

Met de druk op de knop moet hij dus de -83)/2+15 toepassen op de cel die 3 cellen erboven gekopieërd is.

Deze cel is dan actief, je kan misschien mijn formule splitsen en de restwaarde: /2+15 toepassen op de active cel ofzo?

Help a.u.b :(
 
Laatst bewerkt:
Dus Vollehoogte1, ..., 18 verwijzen naar andere cellen? :(
 
Neen kijk Wigi ik zal het veraaltje eens doen.

Ik heb in verschillende cellen een waarde staan: bv: 1500 (Deze cel noemt vollehoogte1)

In een andere cel verschijnt 1500 en deze cel heeft de formule =ALS(Vollehoogte1="";"";Vollehoogte1)

Nu heb ik een knop. Wanneer ik daarop druk, moet hij van die 1500 de formule nemen die in mijn macro staat, die aan de knop hangt, zijnde:

1: -83
2: /2
3: +15

In deze volgorde op de waarde 1500.:)

en deze toepassen op de active cel waar ik opsta, zijnde de cel waar de uitkomst moet komen

Dan kom ik aan de volgende waarde vollehoogte2 die is bv. 2000

...

Ik hoop dat je dit beter begrijpt? :confused:

Ik moet zoiets bekomen, maar dan enkel zonder foutmelding :)

Code:
Sub Dubbel_Raam()

    Dim c As Range
    For Each c In Selection
        c.Formula = c.offset(-3).Formula & "-83  )  /2+15"
    Next c
 
End Sub
 
Laatst bewerkt:
Dus Vollehoogte1, ..., 18 verwijzen naar andere cellen? :(

Ja dus... :confused: ;)

Eerst een andere vraag: waarom kunnen die cellen Vollehoogte1 tot 18 niet aangepast worden? En de formules ongemoeid laten?
 
Hey Wigi,

Die maten van de cel vollehoogte1 moeten zichtbaar blijven.

Wat je wel mag/kan doen is een offset maken naar de cellen zelf ipv naar de formule als je me begrijpt.

Die ligt 3 kolommen naar links en 1 rij omhoog als dat gaat lukken :confused:

wat stel je voor :)
 
Voorbeeldbestandje zal alles duidelijk maken hoop ik.

klik op de gele cel en druk dan op de knop

Dit moet ik bekomen : 723.5 :(
 

Bijlagen

Code:
Sub Dubbel_systeem()

    Dim c As Range, i As Long, form As String, naam As String
    For Each c In Selection.Range("A1")
        form = c.Offset(-3).Formula
        
        i = 1
        
        Do While IsNumeric(Mid(form, Len(form) - 1 - i, 1))
            i = i + 1
        Loop
        
        naam = Mid(form, Len(form) - i - Len("Vollehoogte"), Len("Vollehoogte") + i)
        
        c.Formula = Replace(form, naam, "(" & naam & "-83)/2+15")
    Next c
End Sub

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan