- 07 Fev 2017 às 21:00
#19951
Olá, Pessoal!
Tenho a seguinte tabela:
empregados - salario - novo salario
------------------------------------------------------
maria da silva 1.000
pedro americo 1.000
maria tereza 1.000
carlos silva 1.000
sonia maria 1.000
maria da silva 1.000
objetivo hipotético:
reajustar os salários em 10% de todas as pessoas que têm a palavra Maria no nome,
independente da posição da palavra, ou seja, posição início, meio ou fim.
usei esse código abaixo no vba excel:
-----------------------------------------------------------------------------------------------
Dim ultima_linha, i As Long
ultima_linha = Plan1.Range("A" & Rows.Count).End(xlUp).Row
Set intervalo = Range("a:b")
For i = 2 To ultima_linha
If Cells(i, 1) = (Application.WorksheetFunction.VLookup("*maria*", intervalo, 1, False)) Then
Cells(i, 3) = Cells(i, 2) + Cells(i, 2) * 0.1
End If
Next i
------------------------------------------------------------------------------------------------
acontece que esse código pega a primeira frase que contém a palavra maria e calcula somente aqueles
valores que possuem a mesma frase: Na tabela acima o código encontrou a palavra maria na frase maria da silva
e calcula todos os valores que contém apenas a frase maria da silva e as demais frases que contém a palavra maria, o
código não calcula. Alguém se anima com o desafio?
Abraços,
Claudio Leiman
Tenho a seguinte tabela:
empregados - salario - novo salario
------------------------------------------------------
maria da silva 1.000
pedro americo 1.000
maria tereza 1.000
carlos silva 1.000
sonia maria 1.000
maria da silva 1.000
objetivo hipotético:
reajustar os salários em 10% de todas as pessoas que têm a palavra Maria no nome,
independente da posição da palavra, ou seja, posição início, meio ou fim.
usei esse código abaixo no vba excel:
-----------------------------------------------------------------------------------------------
Dim ultima_linha, i As Long
ultima_linha = Plan1.Range("A" & Rows.Count).End(xlUp).Row
Set intervalo = Range("a:b")
For i = 2 To ultima_linha
If Cells(i, 1) = (Application.WorksheetFunction.VLookup("*maria*", intervalo, 1, False)) Then
Cells(i, 3) = Cells(i, 2) + Cells(i, 2) * 0.1
End If
Next i
------------------------------------------------------------------------------------------------
acontece que esse código pega a primeira frase que contém a palavra maria e calcula somente aqueles
valores que possuem a mesma frase: Na tabela acima o código encontrou a palavra maria na frase maria da silva
e calcula todos os valores que contém apenas a frase maria da silva e as demais frases que contém a palavra maria, o
código não calcula. Alguém se anima com o desafio?
Abraços,
Claudio Leiman