Сеансы Node.js Express повторно сохраняют информацию о сеансе для сохранения после удаления из хранилища.

Это может быть достигнуто через VBA. Я написал код ниже и работал для меня.

Входной лист:

Попробуйте приведенный ниже код.

Sub CustomerAndProject()

Dim Customer As String, Project As String, Info1 As String, Info2 As String, Info3 As String

Dim TotalCustomers As Integer, m As Integer

m = 1

'Get Total customers

TotalCustomers = Worksheets("Sheet1").Range("A1").End(xlDown).Row

'First loop to pick customers

For i = 2 To TotalCustomers

Customer = Worksheets("Sheet1").Range("A" & i).Value

'Second loop to pick the projects related to customer

For k = 2 To TotalCustomers

Project = Worksheets("Sheet1").Range("B" & k).Value

'Function r=to validate the duplicate customers and projects

If CustomerValidationForDuplication(Project, Customer, TotalCustomers) = False Then

'Third loop to pick and paste info data related to customer and project

For j = 2 To TotalCustomers

If Worksheets("Sheet1").Range("A" & j).Value = Customer And Worksheets("Sheet1").Range("B" & j).Value = Project Then

Worksheets("Sheet2").Cells(1, m).Value = Customer

Worksheets("Sheet2").Cells(2, m).Value = Project

        If IsEmpty(Worksheets("Sheet1").Range("C" & j).Value) Then

            Else: Info1 = Worksheets("Sheet1").Range("C" & j).Value

                Worksheets("Sheet2").Cells(3, m).Value = Info1

               End If

                If IsEmpty(Worksheets("Sheet1").Range("D" & j).Value) Then

                    Else: Info2 = Worksheets("Sheet1").Range("D" & j).Value

                    Worksheets("Sheet2").Cells(4, m).Value = Info2

                      End If

                        If IsEmpty(Worksheets("Sheet1").Range("E" & j).Value) Then

                            Else: Info3 = Worksheets("Sheet1").Range("E" & j).Value

                            Worksheets("Sheet2").Cells(5, m).Value = Info3

                             End If

                     End If

                 Next

             m = m + 1

        End If

    Next

Next


End Sub


Function CustomerValidationForDuplication(ProjectToBeVerified As String, CustomerToBeVerified As String, TotalCustomers As Integer) As Boolean

For l = 1 To TotalCustomers

If ProjectToBeVerified = Worksheets("Sheet2").Cells(2, l) Then

For m = 1 To TotalCustomers

If CustomerToBeVerified = Worksheets("Sheet2").Cells(1, m) Then

CustomerValidationForDuplication = True

Exit For


Else

CustomerValidationForDuplication = False

End If

Next

Else

CustomerValidationForDuplication = False

End If

If CustomerValidationForDuplication = True Then Exit For

Next


End Function

Выходной лист:

Сообщите мне, если он сработает для вас.

Примечание: I Я новичок в VBA, поэтому мой код не будет дружелюбным. Разрешения приветствуются.

0
задан denikov 19 January 2019 в 14:31
поделиться