Create new Excel rows based on column data

后端 未结 4 776
感动是毒
感动是毒 2021-01-23 03:43

Good afternoon all,

I have an issue where I have users who have multiple bank account details. I need to try and create a new row for each employee who has more than one

4条回答
  •  深忆病人
    2021-01-23 04:06

    Right click on the tab and choose "View Code"

    Paste this code in:

    Sub SplitOnAccount()
    Dim X As Long, Y As Long, EmpNo As String, UserID As String, BSB As Variant, AccNo As Variant
    Range("F1:I1") = Application.Transpose(Application.Transpose(Array(Range("A1:D1"))))
    For X = 2 To Range("A" & Rows.Count).End(xlUp).Row
        EmpNo = Range("A" & X).Text
        UserID = Range("B" & X).Text
        BSB = Split(Range("C" & X).Text, ",")
        AccNo = Split(Range("D" & X).Text, ",")
        For Y = LBound(AccNo) To UBound(AccNo)
            Range("F" & Range("F" & Rows.Count).End(xlUp).Row).Offset(1, 0).Formula = EmpNo
            Range("G" & Range("G" & Rows.Count).End(xlUp).Row).Offset(1, 0).Formula = UserID
            Range("H" & Range("H" & Rows.Count).End(xlUp).Row).Offset(1, 0).Formula = BSB(Y)
            Range("I" & Range("I" & Rows.Count).End(xlUp).Row).Offset(1, 0).Formula = AccNo(Y)
        Next
    Next
    End Sub
    

    Close the window to go back to excel

    Press ALT-F8

    Choose SplitOnAccount and click run.

    Note, this is going to populate the split data to rows F to I, make sure there is nothing in there. If there is post back and we can change it.

    Also format columns F - I as text before you run it or Excel will strip leading zeros off as it will interpret it as a number.

提交回复
热议问题