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

Automatisch getallen genereren

Status
Niet open voor verdere reacties.

ewoud0612

Gebruiker
Lid geworden
26 mei 2008
Berichten
12
In een kolom heb ik twee getallen, 1 en 10. Nu staan er tussen deze 2, 8 cellen open! Nu wil ik dat er automatisch de velden tussen die twee ingevuld worden. Dus 2,3,4,5,6,7,8,9. Is dit mogelijk? Dit volautomatisch!!
 
Als het telkens gewoon +1 is, selecteer de lege cellen, en voer dit uit:

Code:
Sub getalleninvullen()

    With Selection
        .Formula = "=RC[-1]+1"
        .Value = .Value
    End With

End Sub

Wigi
 
Laatst bewerkt:
Nu neemt hij heel het rijtje een getal, ik wil dat hij bijvoorbeeld 1 en 10 ziet, en ziet dat daar acht velden vrij zijn, en dan in die velden de getallen 2 tot 9 in de lege velden zet. Zo krijg je dan de getallen 1 tot 10, hij moet gewoon kijken hoeveel velden, de eerste waarde, de laatste waarde en in de tussenliggende de gemiddelde waardes invullen!

Bedankt voor reactie! Heeft iemand nog een idee?
 
ewoud0612, Op welke positie (dus welke cellen) staan deze twee getallen? Is dat echt op A1 en A10? Of staan ze op A1 en A2 (bijvoorbeeld)? En kan je ook bijvoorbeeld de getallen 100 en 500 hebben? Heb je daar dan 400 cellen tussen zitten of moet dat ook in die 8 cellen? En WAT is automatisch? Wanneer op welk moment moet het gebeuren???

Groet, Leo

EDIT: Ik zie dat je al enkele antwoorden gegeven hebt in je post hierboven....
 
Laatst bewerkt:
En wat is het 'hogere doel' van deze oefening???

Groet, Leo
 
De positie moet alles kunnen zijn, het moet met alle getallen kunnen. Automatisch is als ik een macro of iets dergelijks uitvoer.

Nog een vb:

3 cellen:
1e= "1"
2e= "leeg"
3e= "10"

Wanneer ik nu de macro uitvoer, moet in het 2e veld 4,5 komen staan.
Dit moet dan met elk willekeurig getal kunnen!

EDIT:Tussenliggende waardes van ons doel berekenen, zodat we betere analyses kunnen maken.
 
Laatst bewerkt:
En welke cellen selecteer je? Alle cellen? Alleen de in te vullen cellen?
 
Het mag ook een macro zijn die stept naar de volgende 0 in een kolom. Hij moet echter wel het aantal stappen onthouden!
 
Tussenliggende waardes van ons doel berekenen, zodat we betere analyses kunnen maken. Sorry de rest is bedrijfsgeheim!
 
Dit werkt voor mij op een Engelse Excel versie:

Selecteer alles, en voer uit:

Code:
Sub getalleninvullen()
    
    Dim dblBeginGetal As Double
    Dim dblEindGetal As Double
    Dim dblStep As Double
    
    With Selection
    
        dblBeginGetal = .Cells(1).Value
        dblEindGetal = .Cells(1, .Columns.Count).Value
        
        With .SpecialCells(xlCellTypeBlanks)
            dblStep = (dblEindGetal - dblBeginGetal) / (.Cells.Count + 1)
            .Formula = "=RC[-1]+" & Replace(dblStep, ",", ".")
            .Value = .Value
        End With
    End With

End Sub

Wigi
 
Heb je liever een lus en geen Engels-Nederlands problemen, gebruik dan:

Code:
Sub getalleninvullen2()
    
    Dim dblBeginGetal As Double
    Dim dblEindGetal As Double
    Dim dblStep As Double
    Dim r As Range
    
    With Selection
    
        dblBeginGetal = .Cells(1).Value
        dblEindGetal = .Cells(1, .Columns.Count).Value
        
        With .SpecialCells(xlCellTypeBlanks)
        
            dblStep = (dblEindGetal - dblBeginGetal) / (.Cells.Count + 1)
            
            For Each r In .SpecialCells(xlCellTypeBlanks)
                r.Value = r.Offset(0, -1).Value + dblStep
            Next
            
        End With
    End With

End Sub

Wigi
 
Nog een vb:

3 cellen:
1e= "1"
2e= "leeg"
3e= "10"

Wanneer ik nu de macro uitvoer, moet in het 2e veld 4,5 komen staan.
Ewoud0612, Naar mijn bescheiden mening is het resultaat van het gemiddelde van 1 en 10 niet 4,5 maar 5,5.... :rolleyes:

Groet, Leo
 
Foutmelding -> r.Value = r.Offset(0, -1).Value + dblStep

Fout 1004.

Ligt dit dan aan mij of is dit een foutje in het script?
 
Ewoud0612, Volgens mij heb jij je getallen in regels staan en niet in kolommen.... Dan wordt Wigi's code:
Code:
Sub getalleninvullen2()
    
    Dim dblBeginGetal As Double
    Dim dblEindGetal As Double
    Dim dblStep As Double
    Dim r As Range
    
    With Selection
    
        dblBeginGetal = .Cells(1).Value
        dblEindGetal = .Cells([COLOR="blue"][B].Rows.Count, 1[/B][/COLOR]).Value
        
        With .SpecialCells(xlCellTypeBlanks)
            dblStep = (dblEindGetal - dblBeginGetal) / (.Cells.Count + 1)
        End With
            
        For Each r In .SpecialCells(xlCellTypeBlanks)
            r.Value = r.Offset([B][COLOR="Blue"]-1[/COLOR][/B]).Value + dblStep
        Next
            
    End With

End Sub

Groet, Leo

EDIT: Wim, je was met net vóór met je oplossing... Dus ik laat mijn (bijna identieke) maar links liggen.:D Je moet toch 'ns wat langzamer leren typen! :rolleyes::D:thumb:

EDIT2: De ingesloten lus in de 2e with klopte niet. Daarom 2e with apart van de lus gezet. Nu werkt 't met iedere tussenliggende stapgrootte....
 
Laatst bewerkt:
Indien gewenst een oplossing zonder VBA. Wat minder fraaie dan de oplossing met VBA, maar misschien toch handig.

In B1 t/m B100 kan je 2 getallen ingeven, in kolom C verschijnen dan de tussenliggende waardes.
 

Bijlagen

EDIT2: De ingesloten lus in de 2e with klopte niet.

Inderdaad :o

Code:
Sub getalleninvullen2()
    
    Dim dblBeginGetal As Double
    Dim dblEindGetal As Double
    Dim dblStep As Double
    Dim r As Range
    
    With Selection
    
        dblBeginGetal = .Cells(1).Value
        dblEindGetal = .Cells(1, .Columns.Count).Value
        
        With .SpecialCells(xlCellTypeBlanks)
        
            dblStep = (dblEindGetal - dblBeginGetal) / (.Cells.Count + 1)
            
            For Each r In [B].Cells[/B]
                r.Value = r.Offset(0, -1).Value + dblStep
            Next
            
        End With
    End With

End Sub

Bedankt.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan