Prezados, bom dia.
Estou trabalhando em uma planilha para lançar receitas e despesas para o período de 16 meses. Pois bem, o fato é que existem despesas que se repetem nos 16 meses e, portanto, não quero ter que lançá-las 16 vezes.
Para tanto criei um código (me perdoem se for ruim pois sou aprendiz) que repete os lançamentos de acordo com as CHECKBOX marcadas, cujas contém os meses que desejo repetir.
As variáveis seriam: MES_1, MES_2, MES_3 até MES_16.
A variável VAR1 armazena os números 1, 2, 3 até 16.
Eu desejo que o looping faça MES_ & VAR1, que na minha concepção resultaria no nome MES_1 logo na primeira linha. Quando o looping voltar e repetir tudo, juntando MES_ & VAR1 seria = MES_2. Mas não está funcionando.
Há alguma* sugestão?
Att.,
Walter.
Código:
Do
If MES_ & VAR1 = True Then
ULTIMALINHA = Worksheets("MATRIZ-GERAL").Cells(Rows.Count, "B").End(xlUp).Row + 1
MATRIZ.Range("B" & ULTIMALINHA) = TEXT_DIA.Value & "/" & MES_1.Caption
MATRIZ.Range("E" & ULTIMALINHA) = LIST_2.Value
If BT_PLANEJADO = True Then
MATRIZ.Range("F" & ULTIMALINHA) = BT_PLANEJADO.Caption
Else
If BT_REALIZADO = True Then
MATRIZ.Range("F" & ULTIMALINHA) = BT_REALIZADO.Caption
Else
End If
End If
If BT_DESPESA = True Then
MATRIZ.Range("G" & ULTIMALINHA) = BT_DESPESA.Caption
Else
If BT_INVESTIMENTO = True Then
MATRIZ.Range("G" & ULTIMALINHA) = BT_INVESTIMENTO.Caption
Else
End If
End If
MATRIZ.Range("H" & ULTIMALINHA) = LIST_1.Value
MATRIZ.Range("J" & ULTIMALINHA) = LIST_3.Value
MATRIZ.Range("K" & ULTIMALINHA) = LIST_5.Value
MATRIZ.Range("L" & ULTIMALINHA) = LIST_5.List(LIST_5.ListIndex, 1)
MATRIZ.Range("M" & ULTIMALINHA) = TEXT_QTD.Value
If BT_REAIS = True Then
MATRIZ.Range("N" & ULTIMALINHA) = BT_REAIS.Caption
Else
If BT_PRODUTOS = True Then
MATRIZ.Range("N" & ULTIMALINHA) = BT_PRODUTOS.Caption
Else
If BT_DOLAR = True Then
MATRIZ.Range("N" & ULTIMALINHA) = BT_DOLAR.Caption
Else
End If
End If
End If
MATRIZ.Range("O" & ULTIMALINHA) = CDec(TEXT_TOTAL)
MATRIZ.Range("P" & ULTIMALINHA) = LIST_CULTURA.Value
MATRIZ.Range("Q" & ULTIMALINHA) = CDec(TEXT_RSACA)
MATRIZ.Range("R" & ULTIMALINHA) = CDec(TEXT_CAMBIO)
MATRIZ.Range("S" & ULTIMALINHA) = CDec(TEXT_VL_UN)
MATRIZ.Range("T" & ULTIMALINHA) = TEXT_QTDSC.Value
MATRIZ.Range("V" & ULTIMALINHA) = TEXT_SACASUN.Value
MATRIZ.Range("X" & ULTIMALINHA) = TEXT_CAMBIOUN.Value
MATRIZ.Range("Z" & ULTIMALINHA) = TEXT_DESCRICAO.Value
VAR1 = VAR1 + 1
Else
MsgBox "Informações salvas com sucesso!"
TEXT_DATA.Value = ""
BT_PLANEJADO = False
BT_REALIZADO = False
BT_DESPESA = False
BT_INVESTIMENTO = False
BT_SIM = False
BT_NAO = True
LIST_1.Clear
LIST_3.Clear
LIST_5.Clear
TEXT_QTD.Value = ""
BT_REAIS = False
BT_PRODUTOS = False
BT_DOLAR = False
TEXT_TOTAL.Value = ""
TEXT_RSACA.Value = ""
TEXT_CAMBIO.Value = ""
TEXT_VL_UN.Value = ""
TEXT_QTDSC.Value = ""
TEXT_SACASUN.Value = ""
TEXT_CAMBIOUN.Value = ""
TEXT_DESCRICAO.Value = ""
End If
Loop While VAR1 < 17
Postado : 27/08/2018 8:02 am