Insert a blanc row at a data change in column - office 365 dutch

charlottedv

New Member
Joined
May 14, 2024
Messages
6
Office Version
  1. 365
Platform
  1. Windows
Hi!
I'm trying to add a blanc row everytime there's a change in data in one of my columns.
I've read already some other threads with similar questions like: Thread 1 and Thread 2 but none of the codes mentioned here seem to work for me.
I get the error: "types do not match". Could it have to do with the fact that my office language is set in Dutch? (belgian user here 🙋‍♀️)

In this image you can see the basic set up of my data sheet.
I would need a blanc row everytime the column "Variantcode" changes.
Any solution or help to automate this proces is welcome, VBA or basic excel actions.
1715686393697.png
 

Excel Facts

Workdays for a market open Mon, Wed, Friday?
Yes! Use "0101011" for the weekend argument in NETWORKDAYS.INTL or WORKDAY.INTL. The 7 digits start on Monday. 1 means it is a weekend.
Welcome to the Board!

A simple macro like this should work.
Note that I am assuming that your "Variantcode" column is column C. If it is not, change the three references to "C" in the code to the letter of the column this exists in.
VBA Code:
Sub MyInsertBlankRows()

    Dim lr As Long
    Dim r As Long
    
    Application.ScreenUpdating = False
    
'   Find last row in column C with data
    lr = Cells(Rows.Count, "C").End(xlUp).Row
    
'   Loop through all rows starting from bottom up to row 3
    For r = lr To 3 Step -1
'       Check to see if value is different from row above
        If Cells(r, "C") <> Cells(r - 1, "C") Then
'           Insert blank rows
            Rows(r).Insert
        End If
    Next r
    
    Application.ScreenUpdating = True
    
End Sub
 
Upvote 1
Thank you for the quick reply. I tried your code but unfortunatly I got an error.
The column for Variantcode was column Z so I changed the C everywhere to Z.
1715688965817.png

Translated: Error 13 - Types do not match

When I click on debugging (= foutopsporing), it highlights the following line:

1715689175575.png


I've tried to add a mini sheet here in case this helps.

Creatie Tweede Keuze artikelen.xlsx
AYZAA
2salopet oranje 03m tweede keuze9924-2014-12- 03m9924-2014-12ONWAAR
3salopet oranje 06m tweede keuze9924-2014-12- 06m9924-2014-12WAAR
4salopet oranje 09m tweede keuze9924-2014-12- 09m9924-2014-12WAAR
5salopet oranje 12m tweede keuze9924-2014-12- 12m9924-2014-12WAAR
6t-shirt mini rib turkoois 12m tweede keuze9924-2014-13- 12m9924-2014-13ONWAAR
7salopet oranje 18m tweede keuze9924-2014-12- 18m9924-2014-12ONWAAR
8jurk flower ice ecru 02j tweede keuze9924-2014-14- 02j9924-2014-14ONWAAR
9jurk lichtblauw 02j tweede keuze9924-2014-15- 02j9924-2014-15ONWAAR
10blazer jeans mauve 02j-03j tweede keuze9924-2014-16- 02j-03j9924-2014-16ONWAAR
11jurk flower ice ecru 03j tweede keuze9924-2014-14- 03j9924-2014-14ONWAAR
12jurk groen 03j tweede keuze9924-2014-17- 03j9924-2014-17ONWAAR
13jeans paperbag snow bleach 03j tweede keuze9924-2014-18- 03j9924-2014-18ONWAAR
14zomerjas oranje 03j tweede keuze9924-2014-19- 03j9924-2014-19ONWAAR
15jurk flower ice ecru 04j tweede keuze9924-2014-14- 04j9924-2014-14ONWAAR
16jurk groen 04j tweede keuze9924-2014-17- 04j9924-2014-17ONWAAR
17jeans paperbag snow bleach 04j tweede keuze9924-2014-18- 04j9924-2014-18ONWAAR
18blazer jeans blauw 04j-05j tweede keuze9924-2014-20- 04j-05j9924-2014-20ONWAAR
19kleedje jeansblauw 04j-05j tweede keuze9924-2014-21- 04j-05j9924-2014-21ONWAAR
20zomerjas donkerblauw 04j tweede keuze9924-2014-22- 04j9924-2014-22ONWAAR
21jurk flower ice ecru 05j tweede keuze9924-2014-14- 05j9924-2014-14ONWAAR
22jurk groen 05j tweede keuze9924-2014-17- 05j9924-2014-17ONWAAR
23jurk streep felroze 05j tweede keuze9924-2014-23- 05j9924-2014-23ONWAAR
24jeans paperbag snow bleach 05j tweede keuze9924-2014-18- 05j9924-2014-18ONWAAR
25jurk flower ice ecru 06j tweede keuze9924-2014-14- 06j9924-2014-14ONWAAR
Artikellijst Tweede Keuze
Cell Formulas
RangeFormula
A2A2=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C2,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
Y2:Y25Y2=Z2&"- "&J2
Z2:Z25Z2=INDEX('Verwerkte input Tweede Keuze'!Z:Z,MATCH('Artikellijst Tweede Keuze'!A2,'Verwerkte input Tweede Keuze'!A:A,0),1)
A3:A5A3=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C4,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A6A6=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C15,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A7A7=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C17,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A8A8=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C24,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A9:A11A9=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C26,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A12A12=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C30,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A13:A14A13=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C33,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A15:A16A15=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C36,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A17:A22A17=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C39,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A23A23=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C46,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A24A24=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C48,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
A25A25=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C51,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
Named Ranges
NameRefers ToCells
'Input Originele Artikellijst'!_FilterDatabase='Input Originele Artikellijst'!$A$1:$AU$2213A2:A25
'Verwerkte input Tweede Keuze'!_FilterDatabase='Verwerkte input Tweede Keuze'!$A$1:$AP$300Z2:Z25
 
Upvote 0
Do you have any error values in column Z?

If not, try running this updated code with error handling, which should point us to the offending line. Run this code and tell me what the MsgBox that pops up says:
VBA Code:
Sub MyInsertBlankRows()

    Dim lr As Long
    Dim r As Long
    
    On Error GoTo err_chk
    
    Application.ScreenUpdating = False
    
'   Find last row in column Z with data
    lr = Cells(Rows.Count, "Z").End(xlUp).Row
    
'   Loop through all rows starting from bottom up to row 3
    For r = lr To 3 Step -1
'       Check to see if value is different from row above
        If Cells(r, "Z") <> Cells(r - 1, "Z") Then
'           Insert blank rows
            Rows(r).Insert
        End If
    Next r
    
    Application.ScreenUpdating = True
    
    Exit Sub
    
err_chk:
    If Err.Number = 13 Then
        MsgBox "Error is near line " & r
    Else
        MsgBox Err.Number & ":" & Err.Description
    End If
    
    Application.ScreenUpdating = True
    
End Sub
 
Upvote 0
Solution
Hi Joe,
I ran the updated code and got the following error message:

1715696555169.png


After checking line 58 I saw an N/B error in the field of column Z. After fixing this error the code worked!

Thank you for your help!
 
Upvote 0
You are welcome! Glad I was able to help.

I figured it was probably a data issue!
 
Upvote 0
Hi, would it be possible to ask a follow-up question? So I've now been able to insert a blanc row when the data changes in column Z.
What would I need to change to the code when I want it to not be a blanc row but certain columns would need to be filled in with specific data?

More specific:
All the added rows need to get the value "matrix" in column G. The original rows have the value "matrixproduct' which need to stay the same.
All the added rows need to get the same value as the row below the new inserted row for the following columns: E, K, L, M and Z.
All the added rows need to get the value (which we just added) of column Z in column Y.

I'll show you an example of the result I would need below. In this example I made it manually.

Here is the sheet from which I start:
Creatie Tweede Keuze artikelen.xlsx
ADEGHIJKLMYZ
1Product omschrijvingScancodesKleurProducttypeMatrixMatrixrijPFC_MaatProductgroep omschrijvingProductgroepMerkLeverancier bestelcodeVariantcode
2salopet oranje 03m tweede keuze9920242015002oranjematrixproduct503m03mSalopette Tweede KeuzeX22PF9924-2015-12- 03m9924-2015-12
3salopet oranje 06m tweede keuze9920242015003oranjematrixproduct506m06mSalopette Tweede KeuzeX22PF9924-2015-12- 06m9924-2015-12
4salopet oranje 09m tweede keuze9920242015004oranjematrixproduct509m09mSalopette Tweede KeuzeX22PF9924-2015-12- 09m9924-2015-12
5salopet oranje 12m tweede keuze9920242015005oranjematrixproduct512m12mSalopette Tweede KeuzeX22PF9924-2015-12- 12m9924-2015-12
6t-shirt mini rib turkoois 12m tweede keuze9920242015006blauwmatrixproduct512m12mT-shirt Tweede KeuzeX27PF9924-2015-13- 12m9924-2015-13
7salopet oranje 18m tweede keuze9920242015007oranjematrixproduct518m18mSalopette Tweede KeuzeX22PF9924-2015-12- 18m9924-2015-12
8jurk flower ice ecru 02j tweede keuze9920242015008ecrumatrixproduct602j02jKleed Tweede KeuzeX11F9924-2015-14- 02j9924-2015-14
9jurk lichtblauw 02j tweede keuze9920242015009blauwmatrixproduct602j02jKleed Tweede KeuzeX11F9924-2015-15- 02j9924-2015-15
10blazer jeans mauve 02j-03j tweede keuze9920242015010paarsmatrixproduct5402j-03j02j-03jBlazer Tweede KeuzeX36FxG9924-2015-16- 02j-03j9924-2015-16
11jurk flower ice ecru 03j tweede keuze9920242015011ecrumatrixproduct603j03jKleed Tweede KeuzeX11F9924-2015-14- 03j9924-2015-14
12jurk groen 03j tweede keuze9920242015012groenmatrixproduct603j03jKleed Tweede KeuzeX11F9924-2015-17- 03j9924-2015-17
13jeans paperbag snow bleach 03j tweede keuze9920242015013blauwmatrixproduct603j03jLange broek Tweede KeuzeX15F9924-2015-18- 03j9924-2015-18
14zomerjas oranje 03j tweede keuze9920242015014oranjematrixproduct2503j03jJas Tweede KeuzeX10F9924-2015-19- 03j9924-2015-19
15jurk flower ice ecru 04j tweede keuze9920242015015ecrumatrixproduct604j04jKleed Tweede KeuzeX11F9924-2015-14- 04j9924-2015-14
Artikellijst Tweede Keuze
Cell Formulas
RangeFormula
A2A2=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C2,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
D2:D15D2='Vaste waarden'!$J$5+ROW()
E2E2=INDEX('Input Originele Artikellijst'!E:E,MATCH('Input Tweede keuze'!C2,'Input Originele Artikellijst'!D:D,0),1)
G2G2=INDEX('Input Originele Artikellijst'!G:G,MATCH('Input Tweede keuze'!C2,'Input Originele Artikellijst'!D:D,0),1)
H2H2=INDEX('Input Originele Artikellijst'!H:H,MATCH('Input Tweede keuze'!C2,'Input Originele Artikellijst'!D:D,0),1)
I2I2=INDEX('Input Originele Artikellijst'!I:I,MATCH('Input Tweede keuze'!C2,'Input Originele Artikellijst'!D:D,0),1)
J2J2=INDEX('Input Originele Artikellijst'!J:J,MATCH('Input Tweede keuze'!C2,'Input Originele Artikellijst'!D:D,0),1)
K2:K15K2=INDEX('Vaste waarden'!C:C,MATCH(L2,'Vaste waarden'!B:B,0),1)
L2L2=INDEX('Vaste waarden'!$B$2:$B$28,MATCH(INDEX('Input Originele Artikellijst'!L:L,MATCH('Input Tweede keuze'!C2,'Input Originele Artikellijst'!D:D,0),1),'Vaste waarden'!$A$2:$A$28,0),1)
M2M2=INDEX('Input Originele Artikellijst'!M:M,MATCH('Input Tweede keuze'!C2,'Input Originele Artikellijst'!D:D,0),1)
Y2:Y15Y2=Z2&"- "&J2
Z2:Z15Z2=INDEX('Verwerkte input Tweede Keuze'!Z:Z,MATCH('Artikellijst Tweede Keuze'!A2,'Verwerkte input Tweede Keuze'!A:A,0),1)
A3:A5A3=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C4,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
E3:E5E3=INDEX('Input Originele Artikellijst'!E:E,MATCH('Input Tweede keuze'!C4,'Input Originele Artikellijst'!D:D,0),1)
G3:G5G3=INDEX('Input Originele Artikellijst'!G:G,MATCH('Input Tweede keuze'!C4,'Input Originele Artikellijst'!D:D,0),1)
H3:H5H3=INDEX('Input Originele Artikellijst'!H:H,MATCH('Input Tweede keuze'!C4,'Input Originele Artikellijst'!D:D,0),1)
I3:I5I3=INDEX('Input Originele Artikellijst'!I:I,MATCH('Input Tweede keuze'!C4,'Input Originele Artikellijst'!D:D,0),1)
J3:J5J3=INDEX('Input Originele Artikellijst'!J:J,MATCH('Input Tweede keuze'!C4,'Input Originele Artikellijst'!D:D,0),1)
L3:L5L3=INDEX('Vaste waarden'!$B$2:$B$28,MATCH(INDEX('Input Originele Artikellijst'!L:L,MATCH('Input Tweede keuze'!C4,'Input Originele Artikellijst'!D:D,0),1),'Vaste waarden'!$A$2:$A$28,0),1)
M3:M5M3=INDEX('Input Originele Artikellijst'!M:M,MATCH('Input Tweede keuze'!C4,'Input Originele Artikellijst'!D:D,0),1)
A6A6=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C15,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
E6E6=INDEX('Input Originele Artikellijst'!E:E,MATCH('Input Tweede keuze'!C15,'Input Originele Artikellijst'!D:D,0),1)
G6G6=INDEX('Input Originele Artikellijst'!G:G,MATCH('Input Tweede keuze'!C15,'Input Originele Artikellijst'!D:D,0),1)
H6H6=INDEX('Input Originele Artikellijst'!H:H,MATCH('Input Tweede keuze'!C15,'Input Originele Artikellijst'!D:D,0),1)
I6I6=INDEX('Input Originele Artikellijst'!I:I,MATCH('Input Tweede keuze'!C15,'Input Originele Artikellijst'!D:D,0),1)
J6J6=INDEX('Input Originele Artikellijst'!J:J,MATCH('Input Tweede keuze'!C15,'Input Originele Artikellijst'!D:D,0),1)
L6L6=INDEX('Vaste waarden'!$B$2:$B$28,MATCH(INDEX('Input Originele Artikellijst'!L:L,MATCH('Input Tweede keuze'!C15,'Input Originele Artikellijst'!D:D,0),1),'Vaste waarden'!$A$2:$A$28,0),1)
M6M6=INDEX('Input Originele Artikellijst'!M:M,MATCH('Input Tweede keuze'!C15,'Input Originele Artikellijst'!D:D,0),1)
A7A7=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C17,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
E7E7=INDEX('Input Originele Artikellijst'!E:E,MATCH('Input Tweede keuze'!C17,'Input Originele Artikellijst'!D:D,0),1)
G7G7=INDEX('Input Originele Artikellijst'!G:G,MATCH('Input Tweede keuze'!C17,'Input Originele Artikellijst'!D:D,0),1)
H7H7=INDEX('Input Originele Artikellijst'!H:H,MATCH('Input Tweede keuze'!C17,'Input Originele Artikellijst'!D:D,0),1)
I7I7=INDEX('Input Originele Artikellijst'!I:I,MATCH('Input Tweede keuze'!C17,'Input Originele Artikellijst'!D:D,0),1)
J7J7=INDEX('Input Originele Artikellijst'!J:J,MATCH('Input Tweede keuze'!C17,'Input Originele Artikellijst'!D:D,0),1)
L7L7=INDEX('Vaste waarden'!$B$2:$B$28,MATCH(INDEX('Input Originele Artikellijst'!L:L,MATCH('Input Tweede keuze'!C17,'Input Originele Artikellijst'!D:D,0),1),'Vaste waarden'!$A$2:$A$28,0),1)
M7M7=INDEX('Input Originele Artikellijst'!M:M,MATCH('Input Tweede keuze'!C17,'Input Originele Artikellijst'!D:D,0),1)
A8A8=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C24,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
E8E8=INDEX('Input Originele Artikellijst'!E:E,MATCH('Input Tweede keuze'!C24,'Input Originele Artikellijst'!D:D,0),1)
G8G8=INDEX('Input Originele Artikellijst'!G:G,MATCH('Input Tweede keuze'!C24,'Input Originele Artikellijst'!D:D,0),1)
H8H8=INDEX('Input Originele Artikellijst'!H:H,MATCH('Input Tweede keuze'!C24,'Input Originele Artikellijst'!D:D,0),1)
I8I8=INDEX('Input Originele Artikellijst'!I:I,MATCH('Input Tweede keuze'!C24,'Input Originele Artikellijst'!D:D,0),1)
J8J8=INDEX('Input Originele Artikellijst'!J:J,MATCH('Input Tweede keuze'!C24,'Input Originele Artikellijst'!D:D,0),1)
L8L8=INDEX('Vaste waarden'!$B$2:$B$28,MATCH(INDEX('Input Originele Artikellijst'!L:L,MATCH('Input Tweede keuze'!C24,'Input Originele Artikellijst'!D:D,0),1),'Vaste waarden'!$A$2:$A$28,0),1)
M8M8=INDEX('Input Originele Artikellijst'!M:M,MATCH('Input Tweede keuze'!C24,'Input Originele Artikellijst'!D:D,0),1)
A9:A11A9=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C26,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
E9:E11E9=INDEX('Input Originele Artikellijst'!E:E,MATCH('Input Tweede keuze'!C26,'Input Originele Artikellijst'!D:D,0),1)
G9:G11G9=INDEX('Input Originele Artikellijst'!G:G,MATCH('Input Tweede keuze'!C26,'Input Originele Artikellijst'!D:D,0),1)
H9:H11H9=INDEX('Input Originele Artikellijst'!H:H,MATCH('Input Tweede keuze'!C26,'Input Originele Artikellijst'!D:D,0),1)
I9:I11I9=INDEX('Input Originele Artikellijst'!I:I,MATCH('Input Tweede keuze'!C26,'Input Originele Artikellijst'!D:D,0),1)
J9:J11J9=INDEX('Input Originele Artikellijst'!J:J,MATCH('Input Tweede keuze'!C26,'Input Originele Artikellijst'!D:D,0),1)
L9:L11L9=INDEX('Vaste waarden'!$B$2:$B$28,MATCH(INDEX('Input Originele Artikellijst'!L:L,MATCH('Input Tweede keuze'!C26,'Input Originele Artikellijst'!D:D,0),1),'Vaste waarden'!$A$2:$A$28,0),1)
M9:M11M9=INDEX('Input Originele Artikellijst'!M:M,MATCH('Input Tweede keuze'!C26,'Input Originele Artikellijst'!D:D,0),1)
A12A12=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C30,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
E12E12=INDEX('Input Originele Artikellijst'!E:E,MATCH('Input Tweede keuze'!C30,'Input Originele Artikellijst'!D:D,0),1)
G12G12=INDEX('Input Originele Artikellijst'!G:G,MATCH('Input Tweede keuze'!C30,'Input Originele Artikellijst'!D:D,0),1)
H12H12=INDEX('Input Originele Artikellijst'!H:H,MATCH('Input Tweede keuze'!C30,'Input Originele Artikellijst'!D:D,0),1)
I12I12=INDEX('Input Originele Artikellijst'!I:I,MATCH('Input Tweede keuze'!C30,'Input Originele Artikellijst'!D:D,0),1)
J12J12=INDEX('Input Originele Artikellijst'!J:J,MATCH('Input Tweede keuze'!C30,'Input Originele Artikellijst'!D:D,0),1)
L12L12=INDEX('Vaste waarden'!$B$2:$B$28,MATCH(INDEX('Input Originele Artikellijst'!L:L,MATCH('Input Tweede keuze'!C30,'Input Originele Artikellijst'!D:D,0),1),'Vaste waarden'!$A$2:$A$28,0),1)
M12M12=INDEX('Input Originele Artikellijst'!M:M,MATCH('Input Tweede keuze'!C30,'Input Originele Artikellijst'!D:D,0),1)
A13:A14A13=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C33,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
E13:E14E13=INDEX('Input Originele Artikellijst'!E:E,MATCH('Input Tweede keuze'!C33,'Input Originele Artikellijst'!D:D,0),1)
G13:G14G13=INDEX('Input Originele Artikellijst'!G:G,MATCH('Input Tweede keuze'!C33,'Input Originele Artikellijst'!D:D,0),1)
H13:H14H13=INDEX('Input Originele Artikellijst'!H:H,MATCH('Input Tweede keuze'!C33,'Input Originele Artikellijst'!D:D,0),1)
I13:I14I13=INDEX('Input Originele Artikellijst'!I:I,MATCH('Input Tweede keuze'!C33,'Input Originele Artikellijst'!D:D,0),1)
J13:J14J13=INDEX('Input Originele Artikellijst'!J:J,MATCH('Input Tweede keuze'!C33,'Input Originele Artikellijst'!D:D,0),1)
L13:L14L13=INDEX('Vaste waarden'!$B$2:$B$28,MATCH(INDEX('Input Originele Artikellijst'!L:L,MATCH('Input Tweede keuze'!C33,'Input Originele Artikellijst'!D:D,0),1),'Vaste waarden'!$A$2:$A$28,0),1)
M13:M14M13=INDEX('Input Originele Artikellijst'!M:M,MATCH('Input Tweede keuze'!C33,'Input Originele Artikellijst'!D:D,0),1)
A15A15=INDEX('Input Originele Artikellijst'!A:A,MATCH('Input Tweede keuze'!C36,'Input Originele Artikellijst'!D:D,0),1)&" tweede keuze"
E15E15=INDEX('Input Originele Artikellijst'!E:E,MATCH('Input Tweede keuze'!C36,'Input Originele Artikellijst'!D:D,0),1)
G15G15=INDEX('Input Originele Artikellijst'!G:G,MATCH('Input Tweede keuze'!C36,'Input Originele Artikellijst'!D:D,0),1)
H15H15=INDEX('Input Originele Artikellijst'!H:H,MATCH('Input Tweede keuze'!C36,'Input Originele Artikellijst'!D:D,0),1)
I15I15=INDEX('Input Originele Artikellijst'!I:I,MATCH('Input Tweede keuze'!C36,'Input Originele Artikellijst'!D:D,0),1)
J15J15=INDEX('Input Originele Artikellijst'!J:J,MATCH('Input Tweede keuze'!C36,'Input Originele Artikellijst'!D:D,0),1)
L15L15=INDEX('Vaste waarden'!$B$2:$B$28,MATCH(INDEX('Input Originele Artikellijst'!L:L,MATCH('Input Tweede keuze'!C36,'Input Originele Artikellijst'!D:D,0),1),'Vaste waarden'!$A$2:$A$28,0),1)
M15M15=INDEX('Input Originele Artikellijst'!M:M,MATCH('Input Tweede keuze'!C36,'Input Originele Artikellijst'!D:D,0),1)
Named Ranges
NameRefers ToCells
'Input Originele Artikellijst'!_FilterDatabase='Input Originele Artikellijst'!$A$1:$AU$2213A2:A15
'Verwerkte input Tweede Keuze'!_FilterDatabase='Verwerkte input Tweede Keuze'!$A$1:$AP$300Z2:Z15



And here is the result that I would like to become:
Creatie Tweede Keuze artikelen.xlsx
ADEGHIJKLMYZ
1Product omschrijvingScancodesKleurProducttypeMatrixMatrixrijPFC_MaatProductgroep omschrijvingProductgroepMerkLeverancier bestelcodeVariantcode
2salopet oranje tweede keuzeoranjematrix5Salopette Tweede KeuzeX22PF9924-2015-129924-2015-12
3salopet oranje 03m tweede keuze9920242015003oranjematrixproduct503m03mSalopette Tweede KeuzeX22PF9924-2015-12- 03m9924-2015-12
4salopet oranje 06m tweede keuze9920242015004oranjematrixproduct506m06mSalopette Tweede KeuzeX22PF9924-2015-12- 06m9924-2015-12
5salopet oranje 09m tweede keuze9920242015005oranjematrixproduct509m09mSalopette Tweede KeuzeX22PF9924-2015-12- 09m9924-2015-12
6salopet oranje 12m tweede keuze9920242015006oranjematrixproduct512m12mSalopette Tweede KeuzeX22PF9924-2015-12- 12m9924-2015-12
7t-shirt mini rib turkoois tweede keuzeblauwmatrix5T-shirt Tweede KeuzeX27PF9924-2015-139924-2015-13
8t-shirt mini rib turkoois 12m tweede keuze9920242015008blauwmatrixproduct512m12mT-shirt Tweede KeuzeX27PF9924-2015-13- 12m9924-2015-13
9salopet oranje tweede keuzeoranjematrix5Salopette Tweede KeuzeX22PF9924-2015-129924-2015-12
10salopet oranje 18m tweede keuze9920242015010oranjematrixproduct518m18mSalopette Tweede KeuzeX22PF9924-2015-12- 18m9924-2015-12
11jurk flower ice ecru tweede keuzeecrumatrix6Kleed Tweede KeuzeX11F9924-2015-149924-2015-14
12jurk flower ice ecru 02j tweede keuze9920242015012ecrumatrixproduct602j02jKleed Tweede KeuzeX11F9924-2015-14- 02j9924-2015-14
13jurk lichtblauw tweede keuzeblauwmatrix6Kleed Tweede KeuzeX11F9924-2015-159924-2015-15
14jurk lichtblauw 02j tweede keuze9920242015014blauwmatrixproduct602j02jKleed Tweede KeuzeX11F9924-2015-15- 02j9924-2015-15
15blazer jeans mauve tweede keuzepaarsmatrix54Blazer Tweede KeuzeX36FxG9924-2015-169924-2015-16
16blazer jeans mauve 02j-03j tweede keuze9920242015016paarsmatrixproduct5402j-03j02j-03jBlazer Tweede KeuzeX36FxG9924-2015-16- 02j-03j9924-2015-16
17jurk flower ice ecru tweede keuzeecrumatrix6Kleed Tweede KeuzeX11F9924-2015-149924-2015-14
18jurk flower ice ecru 03j tweede keuze9920242015018ecrumatrixproduct603j03jKleed Tweede KeuzeX11F9924-2015-14- 03j9924-2015-14
19jurk groen tweede keuzegroenmatrix6Kleed Tweede KeuzeX11F9924-2015-179924-2015-17
20jurk groen 03j tweede keuze9920242015020groenmatrixproduct603j03jKleed Tweede KeuzeX11F9924-2015-17- 03j9924-2015-17
21jeans paperbag snow bleach tweede keuzeblauwmatrix6Lange broek Tweede KeuzeX15F9924-2015-189924-2015-18
22jeans paperbag snow bleach 03j tweede keuze9920242015022blauwmatrixproduct603j03jLange broek Tweede KeuzeX15F9924-2015-18- 03j9924-2015-18
23zomerjas oranje tweede keuzeoranjematrix25Jas Tweede KeuzeX10F9924-2015-199924-2015-19
24zomerjas oranje 03j tweede keuze9920242015024oranjematrixproduct2503j03jJas Tweede KeuzeX10F9924-2015-19- 03j9924-2015-19
25jurk flower ice ecru tweede keuzeecrumatrix6Kleed Tweede KeuzeX11F9924-2015-149924-2015-14
26jurk flower ice ecru 04j tweede keuze9920242015026ecrumatrixproduct604j04jKleed Tweede KeuzeX11F9924-2015-14- 04j9924-2015-14
Blad1


Thank you in advance!
 
Upvote 0
It looks like all those cells you mention have formulas in them in the other rows.
So, you do NOT want to copy the formulas into this new row, but actually hard-code the values in you mentioned (or set up new formulas which are cell references to the ranges you mention)?
I also noticed that in your examples, it looks like columns A and H are also being populated in the new rows, but you did not mention where those values come from in your description.
 
Upvote 0
It looks like all those cells you mention have formulas in them in the other rows.
So, you do NOT want to copy the formulas into this new row, but actually hard-code the values in you mentioned (or set up new formulas which are cell references to the ranges you mention)?
I also noticed that in your examples, it looks like columns A and H are also being populated in the new rows, but you did not mention where those values come from in your description.
In the final sheet all those cells do not necessary need to have the values as formulas. Just the value is indeed good enough.

Maybe some context: The listed items as you may have noticed are all clothing items. The startfile could be seen as a stocklist of all the clothes we still have in stock. But we need to tranfsorm this list into the format that I showed in my previous post in order to import them in our online salesplatform. In the requested format, each different article needs to have a motherarticle. The goal for all these actions is actually to create motherarticles of the original listed items. These motherarticles have the same basic information as the size-articles but do not have all the size related information. The difference for example between the motherarticle en the size-article is noticeable in column A, D, G, I, J and Y. The other columns can take over data from the related size-article(s).

For the new added rows:
Column A: It needs to have the same description as the size-article except for the mention of the size: the 3 or 6 digits before "tweede keuze".
I skipped this one as it may be to complex, there is almost no fixed structure among all the values in column A. If this is the only thing I have to do manually, I'm fine with that. :)
Column D, I & J: need to stay empty
Column H: can be the same as the size-article
 
Upvote 0
Try this:
VBA Code:
Sub MyInsertBlankRows()

    Dim lr As Long
    Dim r As Long
    
    On Error GoTo err_chk
    
    Application.ScreenUpdating = False
    
'   Find last row in column Z with data
    lr = Cells(Rows.Count, "Z").End(xlUp).Row
    
'   Loop through all rows starting from bottom up to row 3
    For r = lr To 3 Step -1
'       Check to see if value is different from row above
        If Cells(r, "Z") <> Cells(r - 1, "Z") Then
'           Insert blank rows
            Rows(r).Insert
'           Populate values in new row
            Cells(r, "E") = Cells(r + 1, "E")
            Cells(r, "G") = "matrix"
            Cells(r, "H") = Cells(r + 1, "H")
            Cells(r, "K") = Cells(r + 1, "K")
            Cells(r, "L") = Cells(r + 1, "L")
            Cells(r, "M") = Cells(r + 1, "M")
            Cells(r, "Z") = Cells(r + 1, "Z")
            Cells(r, "Y") = Cells(r, "Z")
        End If
    Next r
    
    Application.ScreenUpdating = True
    
    Exit Sub
    
err_chk:
    If Err.Number = 13 Then
        MsgBox "Error is near line " & r
    Else
        MsgBox Err.Number & ":" & Err.Description
    End If
    
    Application.ScreenUpdating = True
    
End Sub
 
Upvote 1

Forum statistics

Threads
1,223,099
Messages
6,170,107
Members
452,302
Latest member
TaMere

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top