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

Deel van een kolom copieren aan de hand van een opgegeven getal

Status
Niet open voor verdere reacties.

De Handhaver

Gebruiker
Lid geworden
31 jan 2008
Berichten
7
Ik zoek een formule of makkelijke manier om een deel van een kolom (in het voorbeeld zwart omkaderd) een x aantal keren naar rechts te kopiëren, waarbij de x een getal uit een cel is.

Bij het wijzigen van het getal zou dan ook het aantal kopieën moeten veranderen.

Hartelijk dank voor de hulp alvast,

Groetjes Eelco
 

Bijlagen

Je kan dat blok gewoon selecteren en naar rechts slepen.
 
Hoi Edmoor,

Ja dat kan ook ;-)
Alleen zou het automatisch moeten gaan aan de hand van het opgegeven aantal in het vakje aantal.

En daar kan ik nog niet zo snel een oplossing voor vinden.

Gr Eelco
 
Dat zou dan met een stukje VBA kunnen.
 
ik mij in VBA verdiepen en eens zoeken of ik daar wat van of voor kan vinden.

Bedankt voor de hulp.

Gr Eelco
 
kan toch heel simpel met vba.
Ik zou het doen met een worksheet change
En dan een simple for lus die x =aantal keer door lopen word waarin de te coppy range staat en die dan telekens 1 kolom laat opschuiven
 
Soms moet je bepaalde zaken van uit het nederlands naar het engels vertalen en in google gooien en kom je echt al super goed in de richting.
Zoek eens range copy vba op in google. en met paar kleine aanpassingen ben je er zo
 
Dit simpele stukje doet het ook:
Code:
Private Sub CommandButton1_Click()
    Range("F15:F27").AutoFill Range("F15:" & Chr(Range("F6") + 69) & "27")
End Sub
 
Laatst bewerkt:
Het is geen formule.
Gewoon een stukje VBA.
 
Die code berekent het aantal te gebruiken kolommen naar rechts en plaatst daar per kolom een kopie in van Range("F15:F27").
Dat aantal wordt bepaald door het aantal kamers in F6.
 
dus die chr range leest de waarde uit f6
maar wat doet die 69 en 27
 
Die chr leest in F6 het getal 10.
Tel daarbij 69 op dan kom je op 79
Chr(79) geeft de letter O terug.
De code weet dan dat hij t/m kolom O moet kopiëren.

NB:
Hoofdletter A=65.
 
Laatst bewerkt:
ok maar wat als f6 een ander getal word
en wat doet de 27
 
Kijk eens naar de eerste range: Range("F15:F27")
Welk getal staat daar bij F?
Zoek eens op wat AutoFill doet.
Dan wordt het vast wel duidelijk.
 
Mocht je verder naar rechts gaan dan kolom Z lijkt me dit beter.

Code:
Range("F15:F27").AutoFill Range("F15").resize(13,range("f6").value)

Ik denk niet dat het een oplossing is omdat bij elke kolom een wordt bijgeteld (neem bv. F18 → G18 = +1).
 
Volgens TS is 10 het maximum, vandaar dat ik dat koos.
Maar die van jou maakt dat inderdaad vele malen groter :)
 
Wat kan de oorzaak zijn in hsv zijn code dat er in rij 18 vanaf f18 tot het aantal dat in f6 is ingegeven de waarde met 1 verhoogd en bij de rest niet

Dank dat dit iets is met die autofill want in het voorbeel van microsoft na het uitvoeren van de vba code is er een lijst met nrs van 1 tot 20
https://learn.microsoft.com/en-us/office/vba/api/excel.range.autofill
Heb zelf even veder gezocht waarom dit gebeurde.

Ik zocht even op why autofill increased number by 1 vba
Zonder een type op het einde van van de functie te geven worden waarden met 1 verhoogd en bij namen van maanden deze steeds gevuld met de opeenvolgende namen
Vond ik deze sites
https://www.wallstreetmojo.com/vba-autofill/
https://www.automateexcel.com/vba/macro-to-autofill/

met deze formule doen we en exacte copy
Range("F15:F27").AutoFill Range("F15").Resize(13, Range("f6").Value), xlFillCopy
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan