Definir o Excel para pesquisar em toda a pasta de trabalho por padrão

12

No Microsoft Excel, quando procuro usando CTRL+ F, por padrão, ele pesquisa apenas na planilha atual.

Como posso configurá-lo para pesquisar em toda a pasta de trabalho por padrão? Eu tenho Office 2010. Isso é possível? É possível definir isso para uma pasta de trabalho ou planilha específica? Eu estou bem com uma edição do registro, se é isso que é preciso.

Nota: Quase 10 anos depois, eu ainda gostaria de fazer isso, mas agora para o Excel 2016/2019.

Joel Coehoorn
fonte

Respostas:

3

Você pode fazer isso com uma macro Workbook_Open no módulo ThisWorkbook, da seguinte maneira:

Private Sub Workbook_Open()

Application.CommandBars.FindControl(ID:=1849).Execute
SendKeys "%(t)%(h)W~{ESC}"

End Sub

Isso o definirá para sua sessão para a pasta de trabalho em que você está.

Para que isso sempre seja o padrão, você precisa criar uma Pasta de Trabalho com Macro Pessoal .

Lance Roberts
fonte
1
Prefiro não usar uma macro para isso.
Joel Coehoorn
2
@ Joel, as configurações provavelmente seriam armazenadas no arquivo .pip para Excel, o que é fácil de encontrar, mas é binário e não consigo encontrar um editor específico para ele (isso seria um ótimo projeto). Você provavelmente poderia obter um editor hexadecimal padrão e resolvê-lo, mas seria um projeto.
Lance Roberts
2

Incluí uma modificação para que funcione se o seu Excel estiver em espanhol (como o meu)

Private Sub Workbook_Open()

Dim lCountryCode As Long
lCountryCode = Application.International(xlCountryCode)

Application.CommandBars.FindControl(ID:=1849).Execute

Select Case lCountryCode
Case 34 'spanish
    SendKeys "%(p)%(D)L~{ESC}"
Case Else 'default english
    SendKeys "%(t)%(h)W~{ESC}"
End Select


End Sub
erik
fonte
0
  1. Selecione o ícone Localizar / Selecionar na faixa de opções Início

  2. Clique em Localizar

  3. Clique na caixa "opções" no canto inferior direito

  4. No lado esquerdo, há um menu suspenso que diz "Dentro"

  5. Selecione "Planilha" ou "Pasta de trabalho"

Este site explica como alterar o padrão

MCC
fonte
1
Isso não funciona, por duas razões. Primeiro, essa opção não é salva em cada documento. Abra uma planilha, faça a alteração, salve a planilha, feche o Excel , abra novamente a planilha e ela está de volta ao que era. Em segundo lugar, mesmo que ele tenha sido salvo com o documento, tenho que abrir muitos documentos que não foram criados na minha máquina e, portanto, teriam a configuração (incorreta) da máquina original onde foram criados.
Joel Coehoorn
0

Os comandos Sendkeys, conforme sugerido por outras respostas, não são incentivados. No passado, o comando Sendkeys resultou em ações muito inesperadas, para onde talvez você precise reiniciar o computador para se recuperar. Eu recomendaria tornar a rotina local e executá-la somente sob demanda. Por conveniência, você também pode atribuir uma chave cntl a ela como "q". A opção Pasta de trabalho dentro será lembrada para o saldo da sessão.

Sub myFind()
  Application.CommandBars.FindControl(ID:=1849).Execute
  SendKeys "%(t)%(h)W~+{Tab}+{Tab}"
End Sub
user314256
fonte
0

Eu tive uma questão semelhante. Eu tenho botão em uma pasta de trabalho. Se o botão for clicado, desejo que o Excel abra a caixa de diálogo de localização com a opção "pesquisar em todas as pastas de trabalho" já selecionada em vez da padrão "dentro da planilha", não importa o quê.

Além disso, eu queria que o botão funcionasse, considerando as opções ocultas ou exibidas e se alguém fez alterações manualmente. Isso é complicado porque o Excel, por padrão, não mostra as opções no início, mas as lembra e as mostra novamente na próxima vez, se alguém as exibisse antes.

Para garantir que as teclas funcionem, precisamos de uma série de teclas que defina a configuração independentemente do estado inicial. Demorou um pouco para mexer, mas achei um que funciona.

Aqui está o meu código para a versão em inglês do Excel. Para outros idiomas, é necessário alterar as chaves de acordo.

 Sub Commanbutton_Click()

      Cells(1, 1).Select

       SendKeys "^f", True
       SendKeys "{TAB 15}"
       SendKeys " ", True
       SendKeys "%t%t", True
       SendKeys "{TAB 2}", True
       SendKeys "{DOWN}{DOWN}{ENTER}", True
       SendKeys "%t%t", True

  End Sub

Você pode experimentá-lo manualmente:

Pressione CTRL + F para o diálogo de localização. Pressione TAB 15 vezes para pousar em "Opções" ou no menu suspenso "Pesquisar dentro".

Pressione espaço e

1) As opções são exibidas ou 2) o menu suspenso é ativado e nada acontece

Pressione Alt + T duas vezes para redefinir o cursor para a caixa de entrada de localização

Pressione TAB duas vezes, o levará à pesquisa no menu suspenso, não importa o quê (porque as etapas anteriores garantem que as opções sejam realmente exibidas!)

Pressione a seta PARA BAIXO duas vezes para selecionar "Pasta de trabalho" e ENTER para selecionar

Pressione ALT + T duas vezes para redefinir o cursor para a caixa de entrada de localização novamente.

Espero que isso ajude alguém que tenha um problema semelhante. Muitos usuários do Google me disseram que não é possível pré-selecionar "pesquisar em todas as pastas de trabalho" com o VBA, mas dessa maneira funciona!

Para que ele funcione com idiomas diferentes, é necessário verificar o idioma e usar o CASE para alternar para a rotina adequada com os atalhos adequados.

Malo
fonte