Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
  • Avatar do usuário
  • Avatar do usuário
  • Avatar do usuário
Por dcmdouglas
Posts
#8893
Bom dia Pessoal!

Estou com uma pedra no sapato... Eu tenho a planilha abaixo com macros que me diz quais notas ainda não foram recebidas.
Imagem

Ela pesquisa pela chave de acesso, porém a chave de acesso fica na coluna I que é OCULTA, e o código de pesquisa dá erro quando a coluna está oculta mas funciona quando não está, mesmo que o espaço mostrado seja mínimo.
Abaixo meu código:

Columns("I:I").Select

Selection.Find(What:=chave, After _
:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns _
, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=True). _
Activate

ActiveCell.Offset(0, -5).Select
Range(Selection, Selection.End(xlToRight)).Select


O que eu preciso é selecionar a linha pesquisada deixando a coluna I oculta, para depois confirmar se quer dar baixa ou não.
Avatar do usuário
Por alexandrevba
Avatar
#8894
Boa tarde!!

Tente mudar essa parte LookIn:=xlValues
para
Código: Selecionar todos
LookIn:=xlFormulas
Att
Avatar do usuário
Por Jonathaluis
Posts Avatar
#8895
Dcmdouglas, boa tarde!

Fiz um pequeno trecho, vê se ajuda:

Sub teste()

'Utilizei números de 1 a 9 na coluna "I" e na coluna "D" letras de A a I

chave = 3

linha = 2 'Linha 2
achou = False
Do While Cells(linha, 9) <> "" And achou <> True 'faça enquanto linha for diferente de nada ("") ou quando achar
If (Cells(linha, 9) = chave) Then
achou = True
linha = linha - 1
End If
linha = linha + 1
Loop

Cells(linha, 4).Select 'seleciona coluna D, na linha que encontrou a matricula
Range(Selection, Selection.End(xlToRight)).Select
End Sub
Por dcmdouglas
Posts
#8897
Não funcionou. Quando a coluna está o oculta o erro que aparece é: Erro em tempo de execução 91. A varável do objeto ou do bloco WITH não foi definida.
alexandrevba escreveu:Boa tarde!!

Tente mudar essa parte LookIn:=xlValues
para
Código: Selecionar todos
LookIn:=xlFormulas
Att
Avatar do usuário
Por FelipeGualberto
Posts Avatar
#8955
Código: Selecionar todos
Sub Main()
    Dim rSearch As Range
    
    Set rSearch = Columns("I:I").Find(What:=chave, _
                                      LookIn:=xlValues, _
                                      LookAt:=xlPart)
     
    If Not rSearch Is Nothing Then
        Set rSearch = rSearch.Offset(, 5)
        Range(rSearch, rSearch.End(xlToRight)).Select
    Else
        MsgBox "Resultado não encontrado.", vbExclamation
    End If
End Sub
Avatar do usuário
Por Jonathaluis
Posts Avatar
#8962
DcmDouglas, bom dia!

Utilize o código abaixo, mesmo o campo estando oculto ele encontra

Sub teste()

'Utilizei números de 1 a 9 na coluna "I" e na coluna "D" letras de A a I

chave = 3 'Alimentei com 3 pois é o número que estou procurando, em sua planilha não deve ter essa linha
linha = 2 'Linha 2 é a linha onde se iniciará a pesquisa da matrícula
achou = False
Do While Cells(linha, 9) <> "" And achou <> True 'faça enquanto linha for diferente de nada ("") ou quando achar
If (Cells(linha, 9) = chave) Then
achou = True
linha = linha - 1
End If
linha = linha + 1
Loop

Cells(linha, 4).Select 'seleciona coluna D, na linha que encontrou a matricula
Range(Selection, Selection.End(xlToRight)).Select
End Sub
Avatar do usuário
Por JFBERNARDES
Avatar
#9033
Boa tarde Douglas!

Pode usar o seu código mesmo, basta colocar um comando para a macro exibir a coluna "I" antes do início do processamento. E outro comando para ocultá-la ao final.

Usando o seu código ficou assim:
Código: Selecionar todos
Columns("I:I").Select
Selection.EntireColumn.Hidden = True

Columns("I:I").Select

Selection.Find(What:=chave, After _
:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns _
, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=True). _
Activate

ActiveCell.Offset(0, -5).Select
Range(Selection, Selection.End(xlToRight)).Select

Columns("I:I").Select
Selection.EntireColumn.Hidden = False
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord