Notifications
Clear all

"se" com mais de um critério

3 Posts
2 Usuários
0 Reactions
1,187 Visualizações
(@ericksant)
Posts: 109
Estimable Member
Topic starter
 

Prezados,
boa tarde,

Tenho duas colunas, uma de "chave" e outra de "valor", porém essa coluna de valor, possui o valor numérico porém com uma letra no final...

A lógica seria mais ou menos assim, primeiro independente de qualquer coisa, iria pegar a primeira linha e duplicar ela, feito isso, pegaria e faria "Se o valor terminar com D, entao, na linha da coluna chave colocaria 'espelho' e na segunda linha, tambem na coluna chave colocaria debito se nao, colocaria credito...

No meu exemplo eu coloquei um código que estava utilizando, mas pra essa lógica nova não funciona... Coloquei também na planilha3 como que ficaria...

Alguém consegue me ajudar ?

Obrigado!

 
Postado : 23/07/2018 12:03 pm
(@klarc28)
Posts: 971
Prominent Member
 
Option Explicit

Sub Macro1()
Application.ScreenUpdating = False
Dim linhaInicial As Long
linhaInicial = 10
 While Planilha1.Range("A" & linhaInicial).Value <> ""
    Rows(linhaInicial + 1 & ":" & linhaInicial + 1).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A" & linhaInicial & ":H" & linhaInicial).Select
    Selection.Copy
    Range("A" & linhaInicial + 1).Select
    ActiveSheet.Paste
        Range("B" & linhaInicial).Value = "espelho"

    If Right(Range("C" & linhaInicial).Value, 1) = "D" Then
    Range("B" & linhaInicial + 1).Value = "débito"
    'se quiser retirar a letra D do valor, faça assim:
    
    
     Range("C" & linhaInicial).Value = CDbl(Left(Range("C" & linhaInicial).Value, Len(Range("C" & linhaInicial).Value) - 2))
    
    Range("C" & linhaInicial + 1).Value = CDbl("-" & Range("C" & linhaInicial).Value)
    Else
    'se quiser retirar a letra C do valor, faça assim:
     Range("C" & linhaInicial).Value = CDbl(Left(Range("C" & linhaInicial).Value, Len(Range("C" & linhaInicial).Value) - 2))
        Range("B" & linhaInicial + 1).Value = "crédito"
        'caso o crédito não precise multiplicar por menos 1, retire-o desta linha:
            Range("C" & linhaInicial + 1).Value = CDbl("-" & Range("C" & linhaInicial).Value)

    End If
   linhaInicial = linhaInicial + 2
   Wend
    Application.CutCopyMode = False
    Application.ScreenUpdating = True

End Sub
 
Postado : 24/07/2018 11:38 am
(@ericksant)
Posts: 109
Estimable Member
Topic starter
 

MUITO OBRIGADO CARA!

NOTA 10000000000!

 
Postado : 24/07/2018 1:35 pm