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.
– danieltakeshi