Boa Tarde amigos,
Fiz um download de uma planilha referente a controle de cartão de crédito para empresa, apos alguns lançamentos, fui utilizar o macro para gerar o fluxo e apareceu a mensagem de erro em tempo de execução ' 13' tipos incompatíveis não entendo muito nem de excel e nem de VBA gostaria de uma ajuda. abaixo segue o codigo do vba;
Sub cria_fluxo()
Dim Area As Range
Dim destino As Range
Call Limpa_fluxo
Set Area = Worksheets("Operações").Range("a2:f2000")
Set destino = Worksheets("Fluxo").Range("a2:f6000")
j = 1
i = 1
While Area.Cells(i, 1).Value <> ""
' copia os dados da transação original para a tabela de fluxo, as 6 primeiras colunas são iguais
For k = 1 To 6
destino.Cells(j, k).Value = Area.Cells(i, k).Value
Next k
' agora vamos calcular as parcelas . o número de parcelas, a data, a taxa e o valor da parcela são os mesmos
num_parcelas = Area.Cells(i, 7).Value
data_opera = Area.Cells(i, 3).Value
wtaxa = Area.Cells(i, 5).Value
wvalor = Area.Cells(i, 4).Value / num_parcelas
destino.Cells(j, .Value = wvalor
destino.Cells(j, 9).Value = data_opera + Area.Cells(i, 6).Value (este campo aparece em amarelo)
destino.Cells(j, 10).Value = wvalor * (1 - wtaxa)
destino.Cells(j, 7).Value = 1
For k = 2 To num_parcelas
j = j + 1
For Z = 1 To 6
destino.Cells(j, Z).Value = Area.Cells(i, Z).Value
Next Z
destino.Cells(j, 6).Value = k * 30
destino.Cells(j, 7).Value = k
destino.Cells(j, .Value = wvalor
destino.Cells(j, 9).Value = data_opera + 30 * k
' como estava antes
' destino.Cells(j, 10).Value = wvalor * (1 - wtaxa * k)
' como ficou depois
destino.Cells(j, 10).Value = wvalor * (1 - wtaxa)
Next k
j = j + 1
i = i + 1
Wend
'
' For intColIndex = 0 To rs.Fields.Count - 1 ' the field names
' TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name
' Next
Call Marca_fluxo
Call Atualiza_resumo
End Sub
Fiz um download de uma planilha referente a controle de cartão de crédito para empresa, apos alguns lançamentos, fui utilizar o macro para gerar o fluxo e apareceu a mensagem de erro em tempo de execução ' 13' tipos incompatíveis não entendo muito nem de excel e nem de VBA gostaria de uma ajuda. abaixo segue o codigo do vba;
Sub cria_fluxo()
Dim Area As Range
Dim destino As Range
Call Limpa_fluxo
Set Area = Worksheets("Operações").Range("a2:f2000")
Set destino = Worksheets("Fluxo").Range("a2:f6000")
j = 1
i = 1
While Area.Cells(i, 1).Value <> ""
' copia os dados da transação original para a tabela de fluxo, as 6 primeiras colunas são iguais
For k = 1 To 6
destino.Cells(j, k).Value = Area.Cells(i, k).Value
Next k
' agora vamos calcular as parcelas . o número de parcelas, a data, a taxa e o valor da parcela são os mesmos
num_parcelas = Area.Cells(i, 7).Value
data_opera = Area.Cells(i, 3).Value
wtaxa = Area.Cells(i, 5).Value
wvalor = Area.Cells(i, 4).Value / num_parcelas
destino.Cells(j, .Value = wvalor
destino.Cells(j, 9).Value = data_opera + Area.Cells(i, 6).Value (este campo aparece em amarelo)
destino.Cells(j, 10).Value = wvalor * (1 - wtaxa)
destino.Cells(j, 7).Value = 1
For k = 2 To num_parcelas
j = j + 1
For Z = 1 To 6
destino.Cells(j, Z).Value = Area.Cells(i, Z).Value
Next Z
destino.Cells(j, 6).Value = k * 30
destino.Cells(j, 7).Value = k
destino.Cells(j, .Value = wvalor
destino.Cells(j, 9).Value = data_opera + 30 * k
' como estava antes
' destino.Cells(j, 10).Value = wvalor * (1 - wtaxa * k)
' como ficou depois
destino.Cells(j, 10).Value = wvalor * (1 - wtaxa)
Next k
j = j + 1
i = i + 1
Wend
'
' For intColIndex = 0 To rs.Fields.Count - 1 ' the field names
' TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name
' Next
Call Marca_fluxo
Call Atualiza_resumo
End Sub