Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

Excel -aantal cellen aanvullen door een bepaalde hoeveelheid

Pagina: 1
Acties:

Vraag


Verwijderd

Topicstarter
Ben op zoek naar een formule (of een combinatie van formules) of een query die het mogelijk maakt om een bepaalt aantal cellen in te vullen naargelang de waarde van een andere cel.

Ik bedoel zoiets als: als er in cel A2 "TEST" geschreven staat en in B2 het getal 6, is het dan mogelijk op 1 of manier om in kolom C 6x onder elkaar het woord "TEST" te laten verschijnen?

Thx Sam

Beste antwoord (via Verwijderd op 21-11-2017 10:30)


  • breew
  • Registratie: April 2014
  • Laatst online: 14:17
Ahah, dat is iets meer dan alleen een simpel formuletje... Ik zou voor een vba-scriptje gaan hier, al kan het vast ook wel met basic excel, maar als je alleen een hamer hebt, lijkt elk probleem op een spijker :+

Vooral niet gebruiken als je niet snapt wat de code doet!! het uitvoeren van vba heeft geen undo-knop!

Aanpassen naar je eigen wens:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Option Explicit

Sub HerhalenMaar()

Dim intHerhalingen As Integer
Dim strHerhalen As String
Dim c As Range
Dim rng As Range
Dim lonLaatsteRijA As Long
Dim lonLaatsteRijB As Long
Dim i As Long

With ActiveSheet
  lonLaatsteRijA = .Cells(Rows.Count, "A").End(xlUp).Row
  lonLaatsteRijB = .Cells(Rows.Count, "B").End(xlUp).Row
  Set rng = .Range(.Cells(1, 1), .Cells(lonLaatsteRijA, 1))
End With

For Each c In rng
  intHerhalingen = Mid(c.Value, InStrRev(c.Value, " ") + 1, Len(c.Value))
  strHerhalen = Left(c.Value, InStrRev(c.Value, " ") - 1)
  For i = 0 To intHerhalingen - 1
    ActiveSheet.Cells(1, 2).Offset(lonLaatsteRijB + i, 0).Value = strHerhalen
  Next i
  lonLaatsteRijB = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row
Next c

End Sub


levert:
macrootje

[ Voor 4% gewijzigd door breew op 15-11-2017 16:24 ]

Alle reacties


  • breew
  • Registratie: April 2014
  • Laatst online: 14:17
Ja, dat is mogelijk... Sterker nog, dit is zo ontzettend basic excel, dat ik me afvraag of je zelf al wel gezocht hebt?

Dus.. wat heb je al geprobeerd, en waar loop je op vast?

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Welkom!.

Je wilt inderdaad een tutorial of twee over Excel volgen, dan moet dit eenvoudig te zijn op te lossen maar als je vastloopt met concrete formules helpen we graag. Maar het is dan wel nodig en nuttig om zelf te kijken waar je vastloopt (zie ook Het algemeen beleid #topicplaatsen)

Zonder te weten wat het doet formules kopiëren/plakken van 'willekeurige vreemden op het internet' is immers gevaarlijk. Moet je echt niet willen. Na doorlopen van tutorials: een combi van en() en als() in die kolom, moet voldoen :)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
Ja, klinkt basic excel, da's waar en ik ken beide formules, maar ik loop vast op het combineren van beiden voor lijsten.

Ik heb dit als meegekregen...

`LR Artikel code Omschrijving Aantal
9531240205 DONNA MEDIUM MATT BLACK 3
9531240206 MOON SMALL MATT BLACK 6
9531240208 MOON MEDIUM MATT BLACK 7
9531240209 MOON MEDIUM BRASS 9


En dan zou ik bv in kolom D & E een lijst moeten krijgen die alles naargelang aantal onder elkaar zet...

Lijst
9531240205 DONNA MEDIUM MATT BLACK
9531240205 DONNA MEDIUM MATT BLACK
9531240205 DONNA MEDIUM MATT BLACK
9531240205 DONNA MEDIUM MATT BLACK
9531240205 DONNA MEDIUM MATT BLACK
9531240205 DONNA MEDIUM MATT BLACK
9531240206 MOON SMALL MATT BLACK
9531240206 MOON SMALL MATT BLACK
9531240206 MOON SMALL MATT BLACK
9531240206 MOON SMALL MATT BLACK
9531240206 MOON SMALL MATT BLACK
9531240206 MOON SMALL MATT BLACK
9531240208 MOON MEDIUM MATT BLACK
9531240208 MOON MEDIUM MATT BLACK
9531240208 MOON MEDIUM MATT BLACK
9531240208 MOON MEDIUM MATT BLACK
9531240208 MOON MEDIUM MATT BLACK
9531240208 MOON MEDIUM MATT BLACK
9531240208 MOON MEDIUM MATT BLACK
9531240209 MOON MEDIUM MATT BRASS
9531240209 MOON MEDIUM MATT BRASS
9531240209 MOON MEDIUM MATT BRASS
9531240209 MOON MEDIUM MATT BRASS
9531240209 MOON MEDIUM MATT BRASS
9531240209 MOON MEDIUM MATT BRASS
9531240209 MOON MEDIUM MATT BRASS
9531240209 MOON MEDIUM MATT BRASS
9531240209 MOON MEDIUM MATT BRASS

Dit voor een 200tal artikel codes...

Acties:
  • Beste antwoord

  • breew
  • Registratie: April 2014
  • Laatst online: 14:17
Ahah, dat is iets meer dan alleen een simpel formuletje... Ik zou voor een vba-scriptje gaan hier, al kan het vast ook wel met basic excel, maar als je alleen een hamer hebt, lijkt elk probleem op een spijker :+

Vooral niet gebruiken als je niet snapt wat de code doet!! het uitvoeren van vba heeft geen undo-knop!

Aanpassen naar je eigen wens:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Option Explicit

Sub HerhalenMaar()

Dim intHerhalingen As Integer
Dim strHerhalen As String
Dim c As Range
Dim rng As Range
Dim lonLaatsteRijA As Long
Dim lonLaatsteRijB As Long
Dim i As Long

With ActiveSheet
  lonLaatsteRijA = .Cells(Rows.Count, "A").End(xlUp).Row
  lonLaatsteRijB = .Cells(Rows.Count, "B").End(xlUp).Row
  Set rng = .Range(.Cells(1, 1), .Cells(lonLaatsteRijA, 1))
End With

For Each c In rng
  intHerhalingen = Mid(c.Value, InStrRev(c.Value, " ") + 1, Len(c.Value))
  strHerhalen = Left(c.Value, InStrRev(c.Value, " ") - 1)
  For i = 0 To intHerhalingen - 1
    ActiveSheet.Cells(1, 2).Offset(lonLaatsteRijB + i, 0).Value = strHerhalen
  Next i
  lonLaatsteRijB = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row
Next c

End Sub


levert:
macrootje

[ Voor 4% gewijzigd door breew op 15-11-2017 16:24 ]


Verwijderd

Topicstarter
Het is gelukt, idd met vba... :)

Bedankt voor de hulp breew

[ Voor 4% gewijzigd door Verwijderd op 21-11-2017 10:32 ]

Pagina: 1