Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Anders (software)

Excel formules: celinhoud verplaatsen

Roeltje400
8 antwoorden
  • :lol: Hoi :lol:
    Wie weet er in Excel een formule (voor de Nederlandse versie) waarbij ik in cel F2:
    Eerst cel E1 en F1 optel,
    Als de uitkomst daarvan meer dan 9 is de inhoud van cel F2 t/m K2 een cel naar rechts verplaats (dan moet de formule in F2 dus verplaatsen zonder de formule te veranderen, dus dat het niet ipv E1 en F1 optellen opeens F1 en G1 optellen wordt) en in cel F2 moet dan een 1 komen te staan.
    Mensen die me willen helpen alvast bedankt!!!!!!! Ik kom er namelijk echt niet uit.
    :lol: Doei :lol:
    …………………Roeltjevierhonderd………………..
  • [code:1:d4e81b901d]Private Sub Worksheet_Calculate()

    If Cells(2, 6) > 9 Then
    With Application
    .Calculation = xlManual
    .MaxChange = 0.001
    End With

    Range("F2:J2").Select
    Selection.Copy
    Range("G2").Select
    ActiveSheet.Paste
    Range("F2").Select
    Range("F2").Value = 1

    With Application
    .Calculation = xlAutomatic
    .MaxChange = 0.001
    End With
    End If
    End Sub

    [/code:1:d4e81b901d]
    Deze Makro doet volgens mij wat jij wil.
    Maar het is vreemd dat je op het einde cel F2 met een 1 moet vullen
    want hierdoor verdwijnt de formule die er eerst stond.
    De formule moet =$E$1+$F$1 zijn zodat de waarde's niet aangepast
    wordt als je de formule copieerd.

    Wim
  • Bedankt, maar hoe krijg ik die makro in mijn werkblad? Ik heb vanalles geprobeerd, maar de hele tijd is de makro verdwenen uit het lijstje met makro's. Kunt u (of iemand anders) me nog even helpen?
  • Als je de macro alleen in het excel bestand wil gebruiken:
    open het excel bestand.
    druk op ATL-F11
    kies menu: Invoegen => Module
    Plak in het rechter scherm de macro tekst.

    Als je de makro in alle excel bestanden wil gebruiken:
    Kies in excel menu: Extra => Macro => Nieuwe Macro opnemen
    Let op dat je Macro opslaan in Persoonlijke werkmap kiest.
    selecteer een paar cellen en stop de macro.
    Excel heeft nu een peroonlijke macro module aangemaakt.
    druk op ATL-F11
    Selecteer in het linker venster het VBAProject: Persnlk.xls
    kies menu: Invoegen => Module
    Plak in het rechter scherm de macro tekst.

    klaar

    Het aanmaken van de peroonlijke macro module hoef maar een keer te gebeuren

    Wim
  • Nogmaals bedankt, maar omdat ik nu toch nog steeds erg moet puzzelen, waarna het eigenlijk nog niet lukt, wilde ik maar vragen of u een andere manier weet om het volgende probleem op te lossen, na 1000 (precies) van deze berekeningen om uit te rekenen hoeveel procent mensen bij elkaar passen met de hand gedaan te hebben.

    Eerst moeten alle letters L O V E S in twee namen geteld worden, de aantallen dan in die volgorde naast elkaar, bijvoorbeel Harry Potter en Hermelien Griffel: 2 1 0 5 0. Dan moeten eerst die 2 en 1 opgeteld, dan de 1 en de 0, de 0 en de 5, de 5 en de 0: 3 1 5 5. Dan weer het zelfde, alleen (en dat is het probleem) moet de 10 die uit 5 en 5 komt als een 1 en een 0 gerekend worden, dus 4 6 1 0. Dan dus 1 0 7 1, 1 7 8, 8 1 5, 9 6. Het eerste getal met twee cijfers is dan de uitkomst in procenten. Heeft u een idee om dit te doen in excel. (Of misschien in een ander programma?)
  • [code:1:097e9468f5]Sub loves()
    Dim w1, w2, w3, kol
    Dim g(20) As Long
    Dim x, gt As String, z As Integer
    Dim s1 As Variant
    l1 = 0: o1 = 0: v1 = 0: e1 = 0
    s1 = 0: s2 = 0: s3 = 0: s4 = 0: s5 = 0: s6 = 0
    For x = 1 To 6
    g(x) = 0
    Next x
    kol = 4
    w1 = Range("A1")
    w2 = Range("B1")
    w3 = w1 & w2
    Range("C1:Z1").Select
    Selection.ClearContents
    Range("C1").Select

    'zoek het aantal letters
    For x = 1 To Len(w3)
    If UCase(Mid$(w3, x, 1)) = "L" Then g(1) = g(1) + 1
    If UCase(Mid$(w3, x, 1)) = "O" Then g(2) = g(2) + 1
    If UCase(Mid$(w3, x, 1)) = "V" Then g(3) = g(3) + 1
    If UCase(Mid$(w3, x, 1)) = "E" Then g(4) = g(4) + 1
    If UCase(Mid$(w3, x, 1)) = "S" Then g(5) = g(5) + 1
    Next x
    'maak het eerste getal
    s1 = g(1) & g(2) & g(3) & g(4) & g(5)
    s1 = Val(s1)
    Cells(1, 4) = s1
    'maak de reeks af
    While Len(s1) > 2
    For x = 1 To Len(s1) - 1
    s2 = s2 & g(x) + g(x + 1)
    g(x) = g(x) + g(x + 1)
    Next x
    s1 = Val(s2)
    s2 = ""
    kol = kol + 1
    Cells(1, kol) = s1
    If Len(s1) > 19 Then MsgBox "te veel overeenkomsten": Exit Sub
    For z = 1 To Len(s1)
    g(z) = Mid$(s1, z, 1)
    Next z
    If kol > 25 Then Exit Sub
    Wend
    Cells(1, 3) = s1 & " %"
    End Sub
    [/code:1:097e9468f5]
    Deze macro verwacht in cel a1 een naam en in cel b1 een andere naam
    daarna rekend hij het percentage uit.
    De werking is niet altijd gegarandeerd maar geef een indruk
    wat er mogelijk is.

    Succes

    Wim
  • Bedankt!!

    Hij werkt bijna altijd prima, behalve als er in de namen geen L'len of S'sen voorkomen, dan voegt excel er geen nullen aan toe, zodat een naam met alleen een o en een v, in één keer 11% geeft. Met de hand doe ik dan:
    01100
    1210
    331
    64
    Dus een behoorlijk andere uitkomst. Maar het lijkt me onmogelijk om die nullen dan op te laten tellen. Misschien moet ik het met javascript doen ofzo, maar met de hand lijkt me toch gemakkelijker! Roeltje400
  • [code:1:3ff22dde49]'maak het eerste getal
    s1 = g(1) & g(2) & g(3) & g(4) & g(5)
    s1 = Val(s1)
    Cells(1, 4) = s1
    'maak de reeks af
    [/code:1:3ff22dde49]
    Zet voor de regel: s1 = Val(s1) een '
    dus
    [code:1:3ff22dde49]'maak het eerste getal
    s1 = g(1) & g(2) & g(3) & g(4) & g(5)
    's1 = Val(s1)
    Cells(1, 4) = s1
    'maak de reeks af
    [/code:1:3ff22dde49]
    dan wordt de eerste uitkomst niet omgezet naar een getal.
    dan werkt ie wel zoals jij wil (hoop ik)

    Wim

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.