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

variabele Macro om een kolom in te vullen

Status
Niet open voor verdere reacties.

Vendeburk

Gebruiker
Lid geworden
21 jan 2014
Berichten
41
Beste Excellers,

Ik ben op zoek naar een variabele Macro om een kolom in te vullen.
Op internet gezocht, maar ik kom er net niet uit.

Ik heb in Kolom B een aantal nummer staan. Het aantal kan varieren, dus het aantal rijen is dus variabel.

Nu zou ik graag willen dat de waarde in cel C2 wordt gekopieerd naar alle andere Cellen van C t/m de laatste ingevulde cel van kolom B

In de bijlage een voorbeeld bestand.

Ik hoor het graag alvast bedankt.
 

Bijlagen

  • Laatste Rij macro.xlsx
    8,2 KB · Weergaven: 37
Bv
Code:
Sub VenA()
  Range("C3:C" & Cells(Rows.Count, 2).End(xlUp).Row) = Range("C2").Value
End Sub
of
Code:
Sub VenA()
  Range("C2").Copy Range("C3:C" & Cells(Rows.Count, 2).End(xlUp).Row)
End Sub
 
Ik ben toch nog even hier mee bezig en wat ik wil lukt me toch niet.

Graag zou ik willen dat in kolom b de datum wordt op gezocht.
Nu heb ik dit met een vertical zoeken formule gedaan.
Deze formule moet doorgetrokken worden naar alle cellen die ingevuld zijn bij A

A zijn alle unieke nummers uit het 1e blad.

Ik hoop dat ik hier een macro voor kan krijgen.

Alvast bedankt

Bekijk bijlage MacroTest 15-6.xlsx
 
Vendeburk,

in een .xlsx kunnen geen macro's voorkomen. Dus graag een bestand uploaden MET de macro...

En ik vind in het bestand ook nergens die vertikaal zoeken formule....

Wellicht is wat meer uitleg van wat je wilt bereiken handig..
 
Laatst bewerkt:
Ik heb nu deze code:

Sub AAA_Gegevens_invoer()
' Unieke Factuurnummer opzoeken
Sheets("Test").Select
Columns("A:A").Select
Selection.Copy
Sheets("Samenvatting").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveSheet.Range("$A$1:$A$8040").RemoveDuplicates Columns:=1, Header:=xlNo

' Datum verticaal zoeken en kopieren
Range("B2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Test!C[-1]:C[8],10,FALSE)"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B99999")
Range("B2:B99999").Select
Columns("B:B").Select
Selection.Copy
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B2").Select
End Sub
 
Plaats de code even tussen codetags en doe het bestand met de code en formules er even bij.
 
Code:
Sub AAA_Gegevens_invoer()
' Unieke Factuurnummer opzoeken
Sheets("Test").Select
Columns("A:A").Select
Selection.Copy
Sheets("Samenvatting").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveSheet.Range("$A$1:$A$8040").RemoveDuplicates Columns:=1, Header:=xlNo

' Datum verticaal zoeken en kopieren
Range("B2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Test!C[-1]:C[8],10,FALSE)"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B99999")
Range("B2:B99999").Select
Columns("B:B").Select
Selection.Copy
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B2").Select
End Sub[ATTACH]301403.vB[/ATTACH]
 

Bijlagen

  • MacroTest m 15-6.xlsm
    520,2 KB · Weergaven: 134
Ik zie nergens een tab 'test' in het bestand. Wat je nu exact zoekt is ook niet echt duidelijk. Alles van 13-06-2017 of een Vlookup obv het bonnummer?

Obv de macro-opname en het bestandje kom ik tot dit.
Code:
Sub VenA()
With Sheets("Samenvatting")
  Sheets("Draaitabel").Columns(1).Copy .Cells(1)
  .Columns(1).RemoveDuplicates 1
  .Range("B2").FormulaR1C1 = "=VLOOKUP(RC[-1],Draaitabel!C[-1]:C[8],10,FALSE)"
  .Range("B2").AutoFill .Range("B2:B" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(2) = .Columns(2).Value
End With
End Sub
 
Bedankt voor je antwoord.
De code die je stuurde werkt. Volgens mij kan ik hier mee verder.

Dank je wel!!
 
Beetje meer snelheid kan geen kwaad.
Code:
Sub hsv()
Dim sn, sn2
With Sheets("Samenvatting")
  sn = Sheets("Draaitabel").Cells(1).CurrentRegion.Columns(1)
  sn2 = Sheets("Draaitabel").Cells(1).CurrentRegion.Columns(10)
  .Cells(1).Resize(UBound(sn)) = sn
  .Cells(1, 2).Resize(UBound(sn)) = sn2
  .Cells(1).CurrentRegion.RemoveDuplicates 1
 End With
End Sub

Of:
Code:
Sub hsv_2()
Dim sn, sq
sn = Sheets("Draaitabel").Cells(1).CurrentRegion
sq = Application.Index(sn, Evaluate("row(1:" & UBound(sn) & ")"), Array(1, 10))
 With Sheets("samenvatting").Cells(1)
    .Resize(UBound(sn), 2) = sq
    .CurrentRegion.RemoveDuplicates 1
 End With
End Sub
 
Laatst bewerkt:
Waarschijnlijk is de arraymethode sneller maar volgens mij werkt het zo ook.

Code:
Sub VenA()
  Union(Sheets("Draaitabel").Columns(1), Sheets("Draaitabel").Columns(10)).Copy Sheets("Samenvatting").Cells(1)
  Sheets("Samenvatting").Cells(1).CurrentRegion.RemoveDuplicates 1
End Sub
 
Een copy-methode is inderdaad veel trager.
 
@ HSV

Bedankt voor je code's. Deze werken allebei.

Alleen ik probeer dit ook een beetje te leren en ik moet in mijn bestand nog meer aanpassen voor de macro.

Kan je uitleggen hoe je code werkt, dan snap ik deze misschien en kan ik hierin aanpassingen doen om de rest van mijn bestand ook goed te krijgen.

Uit eindelijk moet ik veel meer cellen gaan zoeken met formules en deze wil ik dan ook door trekken tot de laatste rij.
En dan moeten deze waardes gekopieerd worden als vaste waarde.

Alvast bedankt.
 
Beste HSV,


Ik heb eigenlijk mijn bestand af en zou je mij willen helpen met een macro.

Het bestand wat ik nu heb toegevoegd heb ik er verklein, maar dit is een vrij groot bestand, dus een snelle macro zijn mij erg helpen.

Ik heb in het werkblad Samenvatting alle formules er in staan.
Deze zouden alleen nog over gezet moeten worden naar waardes.

De Kolom P heb ik nog niet in kunnen vullen, want ik zou niet weten hoe ik dit moet doen.
Het volgende is de bedoeling.

Als in kolom Draaitabel!T:T het woord "BTW-Nummer" voor komt en dit klopt met het nummer van Samenvatting!A# dan moet hier "Ja" komen te staan anders "".

EN natuurlijk ook de eerste macro die je gaf moet hier in verwerkt worden.
Alle dubbele bonnummers eruit halen.

Alvast bedankt!
Ik hoop dat je me kan helpen.

Bekijk bijlage Draaitabel Test 17-6 zonder-macro.xlsm
 
Een beetje jammer dat alleen HSV mag reageren. En waarom staat er geen macro in het bestand? Dan kunnen we iig zien wat je zoal geprobeerd hebt.

Waarom noem je een tab 'draaitabel' terwijl je met een draaitabel de meeste informatie al kan krijgen?
 

Bijlagen

  • Draaitabel Test 17-6 zonder-macro.xlsb
    339,3 KB · Weergaven: 46
Beste VenA,

Natuurlijk mag iedereen reageren.

Ik heb er geen macro's instaan omdat ik niet verder kom dan met een macro opnemen. En zoals iemand hier al aangeeft is kopiëren langzaam.
Vandaar dat ik dit niet heb gedaan.

Mijn tab heet draaitabel, omdat ik met een draaitabel export deze gegevens uit mijn systeem kan halen.
 
Iets wat benoemd wordt als 'veel trager' is niet per definitie optisch trager. Je zal het verschil niet zien in iets dat er 10 of 2 milliseconden overdoet. Waarom haal je niet gelijk de de gegevens die je nodig hebt met de 'draaitabel' uit jouw systeem?
 
Beste VenA,

Met dit antwoord ben ik nog steeds niks opgeschoten.
Als ik deze gegevens gelijk goed uit mijn systeem kan halen, had ik dit al gedaan en had ik hier geen hulp ingeroepen.

Ik vraag alleen of iemand mij kan helpen met een macro van het bestand die ik heb gemaakt.
De aantal rijen zijn variabel en de waardes zou ik graag als waarde willen hebben, dan kan ik met dat bestand verder.

Hoe die waardes gemaakt worden is voor mij niet belangrijk. Dit mag met een draaitabel of een macro.
Alleen wat ik al heb geprobeerd heb met knippen en plakken vraagt erg veel van mijn computer. Hij was een (geschat) een 1 uur bezig om dit te berekenen. Dus ik denk dat ik dan wat fout doen. Vandaar dat ik hier de vraag heb gesteld.

Laten we dan alsjeblieft niet discussiëren over hoe ik dingen opschrijf. Zoals dat ik de naam van een tabblad verkeert benoem of dat iets traag is of niet.

Ik hoop alleen een antwoord op mijn vraag te vinden en ik hoop er ook iets van te leren, zodat ik dit in de toekomst ook zelf kan.
 
De milliseconden zijn in dit geval een tiental seconden. ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan