• 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.
Een tiental seconden is niet zoveel op een mensenleven:d
 
Ik heb alle formules omgezet naar een macro.
Aangezien ik hier niet zo goed in bent zou ik aan jullie willen vragen of jullie dit misschien kunnen bekijken.
Ik weet zeker dat dit effectiever kan, maar ik weet alleen niet hoe.

Ik heb het nu in 3 macro's staan om dit voor mij werkbaar te houden.
Zouden jullie hier misschien naar kunnen kijken?

In kolom K moet een matrix formule gebruikt worden, maar deze werkt in de macro nog niet.

Code:
Sub Unieke_Nummers()
With Sheets("Samenvatting")
  Sheets("Draaitabel").Columns(1).Copy .Cells(1)
  .Columns(1).RemoveDuplicates 1
  End With
End Sub

Code:
Sub Samenvatting_Vullen()
With Sheets("Samenvatting")
 '  Datum
   .Range("B2").FormulaR1C1 = "=VLOOKUP(RC1,Draaitabel!C1:C98,10,FALSE)"
 '  Waarden Datum
  .Range("B2").AutoFill .Range("B2:B" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(2) = .Columns(2).Value
 
 
 ' Jaar
    .Range("C2").FormulaR1C1 = "=VLOOKUP(RC1,Draaitabel!C1:C98,12,FALSE)"
  'Waarden Jaar
  .Range("C2").AutoFill .Range("C2:C" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(3) = .Columns(3).Value
  
  
 ' Week
    .Range("D2").FormulaR1C1 = "=VLOOKUP(RC1,Draaitabel!C1:C98,15,FALSE)"
  'Waarden Week
  .Range("D2").AutoFill .Range("D2:D" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(4) = .Columns(4).Value
  
  
   ' Tijd
    .Range("E2").FormulaR1C1 = "=VLOOKUP(RC1,Draaitabel!C1:C98,11,FALSE)"
  'Waarden Tijd
  .Range("E2").AutoFill .Range("E2:E" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(5) = .Columns(5).Value
  
  
   ' Verkoper
    .Range("F2").FormulaR1C1 = "=VLOOKUP(RC1,Draaitabel!C1:C98,92,FALSE)"
  'Waarden Verkoper
  .Range("F2").AutoFill .Range("F2:F" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(6) = .Columns(6).Value
  
  
   ' Filiaal
    .Range("G2").FormulaR1C1 = "=VLOOKUP(RC1,Draaitabel!C1:C98,93,FALSE)"
  'Waarden Filiaal
  .Range("G2").AutoFill .Range("G2:G" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(7) = .Columns(7).Value
  
  
   ' Klantnummer
    .Range("N2").FormulaR1C1 = "=VLOOKUP(RC1,Draaitabel!C1:C98,3,FALSE)"
  'Waarden Klantnummer
  .Range("N2").AutoFill .Range("N2:N" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(14) = .Columns(14).Value
  
   ' Land
    .Range("O2").FormulaR1C1 = "=VLOOKUP(RC1,Draaitabel!C1:C98,9,FALSE)"
  'Waarden Land
  .Range("O2").AutoFill .Range("O2:O" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(15) = .Columns(15).Value
End With
End Sub

Code:
Sub Aanvul_Extra()
With Sheets("Samenvatting")
' Totaal aantal Artikelen
    .Range("H2").FormulaR1C1 = "=SUMIF(Draaitabel!C1,RC1,Draaitabel!C47)"
  'Waarden Totaal aantal Artikelen
  .Range("H2").AutoFill .Range("H2:H" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(8) = .Columns(8).Value


' Totaal aantal Regels
    .Range("I2").FormulaR1C1 = "=COUNTIF(Draaitabel!C1,RC1)-COUNTIFS(Draaitabel!C1,RC1,Draaitabel!C47,0)"
  'Waarden Totaal aantal Regels
  .Range("I2").AutoFill .Range("I2:I" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(9) = .Columns(9).Value
  
' Order Waarde
    .Range("J2").FormulaR1C1 = "=SUMIF(Draaitabel!C1,RC1,Draaitabel!C37)"
  'Waarden Order Waarde
  .Range("J2").AutoFill .Range("J2:J" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(10) = .Columns(10).Value
  
' Verzend Omschrijving
    .Range("K2").FormulaR1C1 = "=IF(ISERROR(INDEX(Draaitabel!C[9],MATCH(RC[-10]&""Verzendkosten"",Draaitabel!C[-10]&Draaitabel!C[46],0))),"""",(INDEX(Draaitabel!C[9],MATCH(RC[-10]&""Verzendkosten"",Draaitabel!C[-10]&Draaitabel!C[46],0))))"
  'Waarden Verzend Omschrijving
  .Range("K2").AutoFill .Range("K2:K" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(11) = .Columns(11).Value
  
' Aantal Verzend
    .Range("L2").FormulaR1C1 = "=IF(SUMIFS(Draaitabel!C47,Draaitabel!C1,Samenvatting!RC1,Draaitabel!C57,""Verzendkosten"")=0,"""",(SUMIFS(Draaitabel!C47,Draaitabel!C1,Samenvatting!RC1,Draaitabel!C57,""Verzendkosten"")))"
  'Waarden Aantal Verzend
  .Range("L2").AutoFill .Range("L2:L" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(12) = .Columns(12).Value
  
' Waarde Verzending
    .Range("M2").FormulaR1C1 = "=IF(SUMIFS(Draaitabel!C39,Draaitabel!C1,Samenvatting!RC1,Draaitabel!C57,""Verzendkosten"")=0,"""",(SUMIFS(Draaitabel!C39,Draaitabel!C1,Samenvatting!RC1,Draaitabel!C57,""Verzendkosten"")))"
  'Waarde Verzending
  .Range("M2").AutoFill .Range("M2:M" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(13) = .Columns(13).Value
  
' BTW Verlegt
    .Range("P2").FormulaR1C1 = "=IF(ISNUMBER(FIND(""BTW-nummer"",VLOOKUP(R[89]C[-15],Draaitabel!R1C1:R131C20,20,0))),""Ja"","""")"
  'Waarden BTW Verlegt
  .Range("P2").AutoFill .Range("P2:P" & .Cells(Rows.Count, 1).End(xlUp).Row)
  .Columns(16) = .Columns(16).Value
  [ATTACH]301815.vB[/ATTACH]
 End With
End Sub
 

Bijlagen

  • Draaitabel Test 22-6.zip
    1,9 MB · Weergaven: 48
Elke formule die geplaatst wordt zal #N/B geven.


Code:
 .Range("B2").FormulaR1C1 = "=VLOOKUP(RC1,Draaitabel!C1:C98,10,FALSE)"
Haal de gegevens uit de tiende kolom terwijl je maar een kolom aan bereik hebt.
 
Een bijlage binnen de code plaatsen? Of is die .zip onderdeel van de code?
 
De bijlage staat in een zip file.

Is dat een probleem?

Als ik de macro draai komen er wel waardes te staan en geen #N/B
 
Je heb de bijlage binnen de code geplaatst waardoor deze niet opvalt. Een .zip is geen probleem. Wat de bedoeling is ontgaat mij een beetje. Wat het sowieso traag maakt is dat je in de vlookup hele kolommen gebruikt.

@HSV,
Code:
Draaitabel!C1:C98
heeft volgens een snelle berekening 98 kolommen.;)
 
Code:
.Range("K2").FormulaR1C1

Code:
.Range("K2")[COLOR=#ff0000].formulaarray[/COLOR]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan