• 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.

tekst en rekenen

Status
Niet open voor verdere reacties.

damteur

Gebruiker
Lid geworden
11 feb 2006
Berichten
134
Ik zou graag in een cel de formule zetten als tekst en in de cel ernaast de uitkomst.
Weet iemand of dit mogelik is?
 
Zet 2 keer de formule naast elkaar, maar als je de formule wilt hebben maak de cel dan op als Tekst.

Wigi
 
ik zou graag waar in de cel de uitkomst moet komen alleen een celverwijziging hebben,
dus dat je het tekstgedeelte invult en hij rechts de uitkomst neerzet
 
Dat is denk ik moeilijk waarschijnlijk. Ik doe mijn best maar kan niets beloven.
 
Damteur

Ik herinner mij iets :cool: Echt prachtig gevonden van Stephen Bullen.

Surf naar deze pagina en download ChtFrmla.zip. Dit bestand tekent de grafiek van een functie die je zelf ingeeft.

Moraal van het verhaal: doe iets analoogs als daar met de EVALUATE functie. Het werkt met x en y, zie bij Invoegen > Naam. Maar opgepast: die "functie" kan je schijnbaar niet gebruiken. Staat niet de helpfunctie en ook zelf ingeven leidt tot een error. Wat je dus moet doen (ik weet niet of het praktisch is), is van dat bestand starten, alles dat niet nodig is voor die functie wegdoen, en zo jouw bestand terug opbouwen. Dat is de enige manier die ik kan bedenken.

Wigi
 
Laatst bewerkt:
Damteur

Als het niet lukt, wacht nog even voor ik je beter kan helpen met deze thread. Het is al een hele tijd geleden dat ik dat nog gebruikt heb. Ik zal het bestand van Stephen Bullen eens grondiger bekijken nu.

Wigi
 
Kan je eens een voorbeeld geven van 2 cellen, de 1 met formule als waarde, de andere met dezelfde formule als tekst.

En ook hoeveel keer je dit wilt doen in je bestand.

Dan heb ik er een beter zicht op.
 
Vorige post geldt nog, maar voorlopig doet dit wat je wilt.

Vergeet voor nu maar de eerste methode.

In cel B1 komt in tekst de formule van de berekening in cel A1.

Zet

Code:
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Sh.Name = "Blad1" Then Sh.Range("B1") = Range("A1").Formula
End Sub

Zet de code in ThisWorkbook in VBA. Pas wel aan aan jouw werkblad.

Is dit voldoende?

Wigi
 
Bedankt Wigi.

Dit principe komt regelmatig voor zou jij hier een voorbeeld bestand kunnen maken met enkele regels bijv. 8x5+4x7
7x5+5*7
3+3*5*7
Ik snap niet goed waar ik de formule neer moet zetten.
Het is wel altijd zo dat bijv C1 de tekst is en E1 het antwoordt
C2 de tekst is en E2 het antwoordt enz.
 
OK dan Damteur,

zie bijlage voor voorbeelden. De code staat onder Blad1.

Volledig duidelijk nu?

Wigi
 
Sorry Damteur, bijlage vergeten. Nu hangt hij er wel bij.

Wigi
 

Bijlagen

  • Tekst.zip
    6,7 KB · Weergaven: 45
excel bestand werkt niet bij?

Beste Wigi,

Ik heb het bestandje gedownload en geopend.
Ik snap nog niet hoe het werkt?
Als ik bijv cel in kolom C aanpas dan past hij kolom E niet aan?
Of moet ik het anders doen ofzo?

Groetjes Damteur
 
In kolom E aanpassen en dan zal C aangepast worden.
 
Damteur

ik heb nog wat zitten spelen met de code, en ik denk dat dit beter aansluit met wat je wil. Het laat toe om in de 2 richtingen te werken. Test het maar uit, enkel voor kolommen C en E werkt het (zoals je gevraagd had)

Hier is de code:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Count = 1 Then
    If .Column = 3 Then
        Application.EnableEvents = False
        .Offset(0, 2) = .Value
        .Offset(0, 2) = .Offset(0, 2).Value
    ElseIf .Column = 5 Then
        Application.EnableEvents = False
        .Offset(0, -2) = .Formula
    End If
End If
End With
Application.EnableEvents = True
End Sub

Plaats de code achter de code voor het blad waarin je wilt dat de formules en tekst aangepast worden.

Wigi
 
Bedankt Wigi,

Ik heb de code ingeplakt en in cel C een formule ingetyped.
nu gaf hij in cel C en E allebei de uitkomst.
Ik heb toen bij opmaak de celeigenschap aangepast als tekst. En hij werkt nu perfect.
Zelfs het aanpassen en het invoegen gaat goed.

Bedankt Wigi voor je hulp.

Ps. Kun je toelichten hoe de code is opgebouwd
 
En van de volgende dagen doe ik dat zeker. Ik heb net Windows geherinstalleerd, en Office is nog niet gedaan.

Op dit moment is het het belangrijkste dat het degelijk werkt, niet?

Wigi
 
Ik heb gezien dat ik Excel niet nodig heb om uit te leggen wat ik gedaan heb, de code stond al hierboven.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Count = 1 Then
    If .Column = 3 Then
        Application.EnableEvents = False
        .Offset(0, 2) = .Value
        .Offset(0, 2) = .Offset(0, 2).Value
    ElseIf .Column = 5 Then
        Application.EnableEvents = False
        .Offset(0, -2) = .Formula
    End If
End If
End With
Application.EnableEvents = True
End Sub

De macro treedt in werking als er een cel gewijzigd wordt (en F2 Enter doen is al genoeg).

If .Count = 1 Then

wilt zeggen dat er niets gedaan wordt als er meer dan 1 cel veranderd werd.

If .Column = 3 Then

test of de wijziging in kolom C plaats vond. Als dat zo is, wordt Excel gevraagd aanpassingen te doen in kolom E, waardoor er dus weer iets wijzigt (in E dus). Dat vuurt een nieuwe change event aan en dat willen we vermijden of we komen in een oneindige lus terecht. Vandaar

Application.EnableEvents = False

.Offset(0, 2) = .Value

laat toe om op dezelfde rij als Target, maar 2 kolommen naar rechts, de .Value van Target te zetten. Om het resultaat te berekenen in die kolom E, volgt dan

.Offset(0, 2) = .Offset(0, 2).Value

Tot daar van kolom C naar kolom E. Nu omgekeerd.

De kolom van Target is dan 5 (kolom E). Op dezelfde rij, 2 kolommen naar links (-2 is negatief dus naar links) wordt de formule gezet van Target. Kolom C is opgemaakt als Tekst dus daar komt geen uitkomst te staan.

Voila

Wigi
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan