Join Separate Fields in a Cell

Asked

Viewed 46 times

2

Guys, I’m doing this code, but I wanted the P.O field to divide into the P.O values, but it only pulls one field, so it does that in the division ....

Sub CalcularNotas()

' pl_Respostas.Unprotect "Multa123"

Dim UltimaLinha As Long
Dim LinhaAtual As Long

Dim LinhaEmBranco As Long

Dim NumeroFornecedores As Integer
Dim NumDivisao As Integer
Dim j As Integer
Dim NumPo As Integer

NumeroFornecedores = 0
j = 0

UltimaLinha = WorksheetFunction.CountA(Range("A:A"))

For LinhaAtual = 2 To UltimaLinha

    If Cells(LinhaAtual, 2).Value = Cells(LinhaAtual + 1, 2).Value Then
       NumeroFornecedores = NumeroFornecedores + 1

    End If

 Next LinhaAtual

ReDim NomeFornecedor(NumeroFornecedores) As String
ReDim Divisao(NumeroFornecedores) As String
ReDim Po(NumeroFornecedores) As String
ReDim ValorMultaCS(NumeroFornecedores) As Double
ReDim ValorMultaCMIN(NumeroFornecedores) As Double
ReDim ValorMultaPRA(NumeroFornecedores) As Double


ValorMultaCS(j) = 0
ValorMultaCMIN(j) = 0
ValorMultaPRA(j) = 0


For LinhaAtual = 2 To UltimaLinha
    NomeFornecedor(j) = Cells(LinhaAtual, 2).Value

   If Cells(LinhaAtual, 2).Value = Cells(LinhaAtual + 1, 2).Value Then
   If Cells(LinhaAtual, 25).Value = "X" And Cells(LinhaAtual, 24).Value = "Compilado" Then

        Divisao(j) = Cells(LinhaAtual, 26).Value
        Po(j) = Cells(LinhaAtual, 5).Value

        Cells(LinhaAtual, 24).Value = "Nota gerada!"
        'If Cells(LinhaAtual, 11).Value = "4004" Or Cells(LinhaAtual, 11) = "4006" Or Cells(LinhaAtual, 11) = "4007" Or Cells(LinhaAtual, 11) = "4010" Or Cells(LinhaAtual, 11) = "4031" Or Cells(LinhaAtual, 11) = "4033" Or Cells(LinhaAtual, 11) = "4034" Or Cells(LinhaAtual, 11) = "44EX" Or Cells(LinhaAtual, 11) = "44FL" Or Cells(LinhaAtual, 11) = "9001" Or Cells(LinhaAtual, 11) = "9002" Or Cells(LinhaAtual, 11) = "9003" Or Cells(LinhaAtual, 11) = "9004" Or Cells(LinhaAtual, 11) = "9007" Or Cells(LinhaAtual, 11) = "9010" Or Cells(LinhaAtual, 11) = "9031" Or Cells(LinhaAtual, 11) = "9032" Or Cells(LinhaAtual, 11) = "9033" Or Cells(LinhaAtual, 11) = "9034" Or Cells(LinhaAtual, 11) = "9035" Or Cells(LinhaAtual, 11) = "9036" Or Cells(LinhaAtual, 11) = "9037" Or Cells(LinhaAtual, 11) = "9038" Or Cells(LinhaAtual, 11) = "9039" Or Cells(LinhaAtual, 11) = "9040" Or Cells(LinhaAtual, 11) = "91EX" Or Cells(LinhaAtual, 11) = "91FL" Or Cells(LinhaAtual, 11) = "94EX" Or Cells(LinhaAtual, 11) = "94FL" Then


        If Cells(LinhaAtual, 26).Value = "1062" Or Cells(LinhaAtual, 26) = "1064" Or Cells(LinhaAtual, 26) = "1067" Or Cells(LinhaAtual, 26) = "1075" Or Cells(LinhaAtual, 26) = "1076" Or Cells(LinhaAtual, 26) = "1077" Then
        ValorMultaCMIN(j) = ValorMultaCMIN(j) + Cells(LinhaAtual, 21).Value


        'ElseIf Cells(LinhaAtual, 11).Value = "1101" Or Cells(LinhaAtual, 11) = "1133" Or Cells(LinhaAtual, 11) = "1134" Or Cells(LinhaAtual, 11) = "1201" Or Cells(LinhaAtual, 11) = "1301" Or Cells(LinhaAtual, 11) = "1333" Or Cells(LinhaAtual, 11) = "1401" Or Cells(LinhaAtual, 11) = "1502" Or Cells(LinhaAtual, 11) = "1503" Or Cells(LinhaAtual, 11) = "1504" Or Cells(LinhaAtual, 11) = "1505" Or Cells(LinhaAtual, 11) = "1507" Or Cells(LinhaAtual, 11) = "1508" Or Cells(LinhaAtual, 11) = "1533" Or Cells(LinhaAtual, 11) = "1534" Or Cells(LinhaAtual, 11) = "1601" Or Cells(LinhaAtual, 11) = "1701" Or Cells(LinhaAtual, 11) = "1801" Or Cells(LinhaAtual, 11) = "1802" Or Cells(LinhaAtual, 11) = "1803" Or Cells(LinhaAtual, 11) = "1804" Or Cells(LinhaAtual, 11) = "1805" Or Cells(LinhaAtual, 11) = "1806" Or Cells(LinhaAtual, 11) = "1807" Or Cells(LinhaAtual, 11) = "1808" Or Cells(LinhaAtual, 11) = "1809" Or Cells(LinhaAtual, 11) = "1810" _
        '& "1811" Or Cells(LinhaAtual, 11) = "1833" Or Cells(LinhaAtual, 11) = "1834" Or Cells(LinhaAtual, 11) = "1836" Or Cells(LinhaAtual, 11) = "1837" Or Cells(LinhaAtual, 11) = "1838" Or Cells(LinhaAtual, 11) = "1839" Or Cells(LinhaAtual, 11) = "1840" Or Cells(LinhaAtual, 11) = "1841" Or Cells(LinhaAtual, 11) = "1842" Or Cells(LinhaAtual, 11) = "1843" Or Cells(LinhaAtual, 11) = "1850" Or Cells(LinhaAtual, 11) = "1851" Or Cells(LinhaAtual, 11) = "1852" Or Cells(LinhaAtual, 11) = "1860" Or Cells(LinhaAtual, 11) = "1861" Or Cells(LinhaAtual, 11) = "1862" Or Cells(LinhaAtual, 11) = "1870" Or Cells(LinhaAtual, 11) = "1871" Or Cells(LinhaAtual, 11) = "1872" Or Cells(LinhaAtual, 11) = "1901" Or Cells(LinhaAtual, 11) = "2001" Or Cells(LinhaAtual, 11) = "2101" Or Cells(LinhaAtual, 11) = "2301" Or Cells(LinhaAtual, 11) = "49" Or Cells(LinhaAtual, 11) = "4933" Or Cells(LinhaAtual, 11) = "66" Then
        'ValorMultaPRA(j) = ValorMultaPRA(j) + Cells(LinhaAtual, 21).Value

        ElseIf Cells(LinhaAtual, 26) = "1023" Or Cells(LinhaAtual, 26) = "1040" Or Cells(LinhaAtual, 26) = "1041" Or Cells(LinhaAtual, 26) = "1042" Or Cells(LinhaAtual, 26) = "1043" Or Cells(LinhaAtual, 26) = "1049" Or Cells(LinhaAtual, 26) = "1045" Or Cells(LinhaAtual, 26) = "1050" Or Cells(LinhaAtual, 26) = "1051" Or Cells(LinhaAtual, 26) = "1052" Or Cells(LinhaAtual, 26) = "1054" Or Cells(LinhaAtual, 26) = "1044" Or Cells(LinhaAtual, 26) = "1048" Or Cells(LinhaAtual, 26) = "1053" Or Cells(LinhaAtual, 26) = "1055" Or Cells(LinhaAtual, 26) = "1056" Or Cells(LinhaAtual, 26) = "1135" Or Cells(LinhaAtual, 26) = "1155" Or Cells(LinhaAtual, 26) = "1156" Or Cells(LinhaAtual, 26) = "1157" Or Cells(LinhaAtual, 26) = "1158" Or Cells(LinhaAtual, 26) = "1047" Or Cells(LinhaAtual, 26) = "1046" Or Cells(LinhaAtual, 26) = "1103" Then
        ValorMultaPRA(j) = ValorMultaPRA(j) + Cells(LinhaAtual, 21).Value


        Else
        ValorMultaCS(j) = ValorMultaCS(j) + Cells(LinhaAtual, 21).Value


        End If



   End If

   Else

    If Cells(LinhaAtual, 25).Value = "X" And Cells(LinhaAtual, 24).Value = "Compilado" Then
       Cells(LinhaAtual, 24).Value = "Nota gerada!"

        Divisao(j) = Cells(LinhaAtual, 26).Value
        Po(j) = Cells(LinhaAtual, 5).Value

        Cells(LinhaAtual, 24).Value = "Nota gerada!"
        'If Cells(LinhaAtual, 11).Value = "4004" Or Cells(LinhaAtual, 11) = "4006" Or Cells(LinhaAtual, 11) = "4007" Or Cells(LinhaAtual, 11) = "4010" Or Cells(LinhaAtual, 11) = "4031" Or Cells(LinhaAtual, 11) = "4033" Or Cells(LinhaAtual, 11) = "4034" Or Cells(LinhaAtual, 11) = "44EX" Or Cells(LinhaAtual, 11) = "44FL" Or Cells(LinhaAtual, 11) = "9001" Or Cells(LinhaAtual, 11) = "9002" Or Cells(LinhaAtual, 11) = "9003" Or Cells(LinhaAtual, 11) = "9004" Or Cells(LinhaAtual, 11) = "9007" Or Cells(LinhaAtual, 11) = "9010" Or Cells(LinhaAtual, 11) = "9031" Or Cells(LinhaAtual, 11) = "9032" Or Cells(LinhaAtual, 11) = "9033" Or Cells(LinhaAtual, 11) = "9034" Or Cells(LinhaAtual, 11) = "9035" Or Cells(LinhaAtual, 11) = "9036" Or Cells(LinhaAtual, 11) = "9037" Or Cells(LinhaAtual, 11) = "9038" Or Cells(LinhaAtual, 11) = "9039" Or Cells(LinhaAtual, 11) = "9040" Or Cells(LinhaAtual, 11) = "91EX" Or Cells(LinhaAtual, 11) = "91FL" Or Cells(LinhaAtual, 11) = "94EX" Or Cells(LinhaAtual, 11) = "94FL" Then


        If Cells(LinhaAtual, 26).Value = "1062" Or Cells(LinhaAtual, 26) = "1064" Or Cells(LinhaAtual, 26) = "1067" Or Cells(LinhaAtual, 26) = "1075" Or Cells(LinhaAtual, 26) = "1076" Or Cells(LinhaAtual, 26) = "1077" Then
        ValorMultaCMIN(j) = ValorMultaCMIN(j) + Cells(LinhaAtual, 21).Value


        'ElseIf Cells(LinhaAtual, 11).Value = "1101" Or Cells(LinhaAtual, 11) = "1133" Or Cells(LinhaAtual, 11) = "1134" Or Cells(LinhaAtual, 11) = "1201" Or Cells(LinhaAtual, 11) = "1301" Or Cells(LinhaAtual, 11) = "1333" Or Cells(LinhaAtual, 11) = "1401" Or Cells(LinhaAtual, 11) = "1502" Or Cells(LinhaAtual, 11) = "1503" Or Cells(LinhaAtual, 11) = "1504" Or Cells(LinhaAtual, 11) = "1505" Or Cells(LinhaAtual, 11) = "1507" Or Cells(LinhaAtual, 11) = "1508" Or Cells(LinhaAtual, 11) = "1533" Or Cells(LinhaAtual, 11) = "1534" Or Cells(LinhaAtual, 11) = "1601" Or Cells(LinhaAtual, 11) = "1701" Or Cells(LinhaAtual, 11) = "1801" Or Cells(LinhaAtual, 11) = "1802" Or Cells(LinhaAtual, 11) = "1803" Or Cells(LinhaAtual, 11) = "1804" Or Cells(LinhaAtual, 11) = "1805" Or Cells(LinhaAtual, 11) = "1806" Or Cells(LinhaAtual, 11) = "1807" Or Cells(LinhaAtual, 11) = "1808" Or Cells(LinhaAtual, 11) = "1809" Or Cells(LinhaAtual, 11) = "1810" _
        '& "1811" Or Cells(LinhaAtual, 11) = "1833" Or Cells(LinhaAtual, 11) = "1834" Or Cells(LinhaAtual, 11) = "1836" Or Cells(LinhaAtual, 11) = "1837" Or Cells(LinhaAtual, 11) = "1838" Or Cells(LinhaAtual, 11) = "1839" Or Cells(LinhaAtual, 11) = "1840" Or Cells(LinhaAtual, 11) = "1841" Or Cells(LinhaAtual, 11) = "1842" Or Cells(LinhaAtual, 11) = "1843" Or Cells(LinhaAtual, 11) = "1850" Or Cells(LinhaAtual, 11) = "1851" Or Cells(LinhaAtual, 11) = "1852" Or Cells(LinhaAtual, 11) = "1860" Or Cells(LinhaAtual, 11) = "1861" Or Cells(LinhaAtual, 11) = "1862" Or Cells(LinhaAtual, 11) = "1870" Or Cells(LinhaAtual, 11) = "1871" Or Cells(LinhaAtual, 11) = "1872" Or Cells(LinhaAtual, 11) = "1901" Or Cells(LinhaAtual, 11) = "2001" Or Cells(LinhaAtual, 11) = "2101" Or Cells(LinhaAtual, 11) = "2301" Or Cells(LinhaAtual, 11) = "49" Or Cells(LinhaAtual, 11) = "4933" Or Cells(LinhaAtual, 11) = "66" Then
        'ValorMultaPRA(j) = ValorMultaPRA(j) + Cells(LinhaAtual, 21).Value

        ElseIf Cells(LinhaAtual, 26) = "1023" Or Cells(LinhaAtual, 26) = "1040" Or Cells(LinhaAtual, 26) = "1041" Or Cells(LinhaAtual, 26) = "1042" Or Cells(LinhaAtual, 26) = "1043" Or Cells(LinhaAtual, 26) = "1049" Or Cells(LinhaAtual, 26) = "1045" Or Cells(LinhaAtual, 26) = "1050" Or Cells(LinhaAtual, 26) = "1051" Or Cells(LinhaAtual, 26) = "1052" Or Cells(LinhaAtual, 26) = "1054" Or Cells(LinhaAtual, 26) = "1044" Or Cells(LinhaAtual, 26) = "1048" Or Cells(LinhaAtual, 26) = "1053" Or Cells(LinhaAtual, 26) = "1055" Or Cells(LinhaAtual, 26) = "1056" Or Cells(LinhaAtual, 26) = "1135" Or Cells(LinhaAtual, 26) = "1155" Or Cells(LinhaAtual, 26) = "1156" Or Cells(LinhaAtual, 26) = "1157" Or Cells(LinhaAtual, 26) = "1158" Or Cells(LinhaAtual, 26) = "1047" Or Cells(LinhaAtual, 26) = "1046" Or Cells(LinhaAtual, 26) = "1103" Then
        ValorMultaPRA(j) = ValorMultaPRA(j) + Cells(LinhaAtual, 21).Value


        Else
        ValorMultaCS(j) = ValorMultaCS(j) + Cells(LinhaAtual, 21).Value


        End If

    End If

        LinhaEmBranco = WorksheetFunction.CountA(pl_NotasDebito.Range("A:A")) + 1

        If (ValorMultaCMIN(j) > 0) Then

            pl_NotasDebito.Cells(LinhaEmBranco, 1).Value = pl_NotasDebito.Cells(LinhaEmBranco - 1, 1).Value + 1
            pl_NotasDebito.Cells(LinhaEmBranco, 2).Value = NomeFornecedor(j)
            pl_NotasDebito.Cells(LinhaEmBranco, 3).Value = "CMIN"
            pl_NotasDebito.Cells(LinhaEmBranco, 4).Value = Date
            pl_NotasDebito.Cells(LinhaEmBranco, 5).Value = ValorMultaCMIN(j)
            pl_NotasDebito.Cells(LinhaEmBranco, 6).Value = Divisao(j)
            pl_NotasDebito.Cells(LinhaEmBranco, 7).Value = Po(j)
            LinhaEmBranco = LinhaEmBranco + 1


        End If

        If (ValorMultaCS(j) > 0) Then

            pl_NotasDebito.Cells(LinhaEmBranco, 1).Value = pl_NotasDebito.Cells(LinhaEmBranco - 1, 1).Value + 1
            pl_NotasDebito.Cells(LinhaEmBranco, 2).Value = NomeFornecedor(j)
            pl_NotasDebito.Cells(LinhaEmBranco, 3).Value = "CS"
            pl_NotasDebito.Cells(LinhaEmBranco, 4).Value = Date
            pl_NotasDebito.Cells(LinhaEmBranco, 5).Value = ValorMulta(j)
            pl_NotasDebito.Cells(LinhaEmBranco, 6).Value = Divisao(j)
            pl_NotasDebito.Cells(LinhaEmBranco, 7).Value = Po(j)

            LinhaEmBranco = LinhaEmBranco + 1

        End If

        If (ValorMultaPRA(j) > 0) Then

            pl_NotasDebito.Cells(LinhaEmBranco, 1).Value = pl_NotasDebito.Cells(LinhaEmBranco - 1, 1).Value + 1
            pl_NotasDebito.Cells(LinhaEmBranco, 2).Value = NomeFornecedor(j)
            pl_NotasDebito.Cells(LinhaEmBranco, 3).Value = "PRA"
            pl_NotasDebito.Cells(LinhaEmBranco, 4).Value = Date
            pl_NotasDebito.Cells(LinhaEmBranco, 5).Value = ValorMultaPRA(j)
            pl_NotasDebito.Cells(LinhaEmBranco, 6).Value = Divisao(j)
            pl_NotasDebito.Cells(LinhaEmBranco, 7).Value = Po(j)

            LinhaEmBranco = LinhaEmBranco + 1

        End If

        j = j + 1
        ValorMultaCS(j) = 0
        ValorMultaCMIN(j) = 0
        ValorMultaPRA(j) = 0

   End If


Next LinhaAtual
  • I could not understand the question and it is not clear in my opinion. See how to make a [mcve], this helps the question to be answered.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.