- 30 Mai 2019 às 00:18
#44299
Olá, pessoal!
Estou precisando de ajuda com uma pequena macro que deve ler todas as células de uma coluna (A), verificar a existência ou não de um conteúdo em cada célula ("Foto do perfil") e, caso positivo, escrever uma mensagem ("POSSUI NOME") na célula da coluna ao lado.
Utilizando outra pequena macro como referência, escrevi o código abaixo, mas ele não está funcionando corretamente. Como resultado, a macro acaba escrevendo em toda a coluna B a mensagem e não apenas nas que possuem o conteúdo pesquisado na célula da coluna A. Segue bloco do código:
Um abraço a todos!
Estou precisando de ajuda com uma pequena macro que deve ler todas as células de uma coluna (A), verificar a existência ou não de um conteúdo em cada célula ("Foto do perfil") e, caso positivo, escrever uma mensagem ("POSSUI NOME") na célula da coluna ao lado.
Utilizando outra pequena macro como referência, escrevi o código abaixo, mas ele não está funcionando corretamente. Como resultado, a macro acaba escrevendo em toda a coluna B a mensagem e não apenas nas que possuem o conteúdo pesquisado na célula da coluna A. Segue bloco do código:
Código: Selecionar todos
A macro que utilizei como referência está funcionando corretamente (apesar de ser bem lenta). Ela verifica a existência de um conteúdo ("Foto do perfil") e, caso positivo, apaga a linha. Repetindo que esta macro funciona normal. Segue ela:Sub TestarNomePerfil()
Dim s As String, Count As Integer
Let Application.ScreenUpdating = False
Let s = "Foto do perfil"
For Count = 1 To ActiveSheet.UsedRange.Rows.Count
Set f = Cells.Find(s, LookIn:=xlValues)
If Not f Is Nothing Then
Cells(Count, 2).Value = "POSSUI NOME"
Let Application.ScreenUpdating = True
End If
Next Count
End Sub
Código: Selecionar todos
Enfim, alguém poderia me ajudar a entender o que está acontecendo e, se possível, corrigir o problema? Sub DeletarLinha()
Dim s As String, Count As Integer
Let Application.ScreenUpdating = False
Let s = "Foto do perfil"
For Count = 1 To ActiveSheet.UsedRange.Rows.Count
Set f = Cells.Find(s, LookIn:=xlValues)
If Not f Is Nothing Then
f.EntireRow.Delete
Let Application.ScreenUpdating = True
End If
Next Count
End Sub
Um abraço a todos!