Ir para conteúdo
Fórum Script Brasil

Betocadilhe

Membros
  • Total de itens

    16
  • Registro em

  • Última visita

Tudo que Betocadilhe postou

  1. Eu tenho um combobox num UserForm. Quero carregar esse combo usando a instrução For...Each em conjunto com o objeto Range. Eu tenho que carregar os meses do ano que estão na Plan1 no intervalo das células E1:E12. Depois eu quero usar no meu código o mês que for selecionado pelo usuário. Como faço isso? Luiz Roberto
  2. Eu criei um Userform numa planilha da pasta de trabalho Teste.xls. Quero colocar um menu no meu Excel para acessar essa planilha onde tem o meu Userform. Como faço isso? Não quero incluir, por exemplo, este menu dentro do menu Ferramentas, mas no menu principal, ao lado do menu Ferramentas. Meu código para incluir este menu deve ser escrito aonde? Num módulo em qualquer planilha? Uso o Excel 2003. Luiz Roberto
  3. Eu criei um pequeno UserForm de teste com apenas dois label´s, três optionbutton´s e um comandbutton. Os optionbutton´s não estão dentro de um frame e não fazem parte de um GroupName. Eu quero gerar uma mensagem ao clicar no botão de comando informando qual dos optionbutton´s está com sua propriedade value = true, ou seja, aquele que estiver selecionado. Pois bem, me passaram aqui no fórum tempos atrás a seguinte instrução que eu coloquei no evento click do botão de comando: Dim ctrl As Control For Each ctrl In UserForm1.Controls If TypeOf ctrl Is OptionButton Then If ctrl.Value = True Then MsgBox "bla, bla, bla...." End If End If Next ctrl Testei esta instrução tanto no Excel 2003 como no 2007 e simplesmente não funciona! Quando eu clico não aparece mensagem nenhuma. Fazendo a inspeção da variável eu observo que a variável ctrl é igual a verdadeiro quando chega na linha "If TypeOf ctrl Is OptionButton Then", ou seja, a instrução TypeOf não reconhece a variável ctrl como uma variável control do tipo OptionButton. Eu preciso identificar apenas, dentro de um UserForm, os controles OptionButton´s e quando um deles for selecionado, uma determinada instrução será executada. Quero uma instrução sem precisar usar a propriedade GroupName. Alguém poderia me ajudar? Luiz Roberto
  4. Obrigado Reyam pela atenção, mas gostaria de te perguntar duas coisas: 1º) No meu UserForm eu não usei Frames para aglutinar meus OptionButtons, eu usei a propriedade GroupName dos OptionButtons. Se eu não colocasse um Frame como você sugere, como ficaria o loop For Each usando a função Replace? 2º) Supondo que fosse pedido a você uma solução usando o objeto Collection, como você faria? Supondo que eu não colocasse frames, como você colocaria apenas os OptionButtons numa coleção? Como seria o loop For Each para identificar aquele Option que estivesse marcado com a propriedade Value = True? Me perdoe se a pergunta é meio idiota, pois sou novo em VBA Excel. Valeu! Beto :ninja:
  5. Não tenho muita experiência com o VBA do Excel. Estou desenvolvendo um aplicativo bem simples usando o Excel 2003. Eu tenho alguns OptionButton´s e duas caixas de textos num UserForm. Eu preciso analisar qual o OptionButton que está marcado com value = true e, dependendo do OptionButton que for selecionado pelo usuário, uma das caixas de texto será habilitada para edição, caso contrário, a caixa de texto permanecerá com sua propriedade locked marcada como true. Já separei os OptionButton's do meu formulário usando a propriedade GroupName. Sei que posso fazer isso através de uma coleção (objeto Collection) usando o loop For Each. mas não sei como fazer isso. O exemplo dado pelo Help da Microsoft usa a criação de uma variável do tipo Object e depois faz uso da coleção Controls para acessar o item da coleção. O incoveniente dessa solução é que a coleção Controls acessa TODOS os controles que estiverem no UserForm e eu só quero acessar os itens da coleção restrito aos OptionButtons. Posso referenciar uma variável do tipo OptionButton e acessar uma coleção só de controles OptionButtons? Como posso fazer isso? Alguém poderia me ajudar? Beto
  6. Algum samaritano sabe como posso desativar o carregamento automático da barra de ferramentas do Office Live? É uma chatice ter que desligar essa porcaria toda vez que eu carrego o Excel 2003. Alguém sabe como? Valeu! Beto :o)
  7. Estou desenvolvendo em VBA Excel 2003. Não consigo escrever, por exemplo, as mensagens no MsgBox com as acentuações da nossa língua. Meu Word e outros programas estão funcionando normalmente com todas as acentuações. Como faço para habilitar o nosso idioma na janela de código? Beto :o)
  8. João, já te mandei o email com todos os helps dos novos objetos para você dar uma analisada. Fico no aguardo do seu retorno. Beto
  9. Estou fazendo um print desses novos objetos. Espera só um instante que já vai estar no seu email. Velu! Beto
  10. João, eu estou rodando a versão 2007 do Excel e de fato o VBA não suporta mais as propriedades FileFind e FileSearch do objeto Application existentes na versão 2003, razão pela qual acusa um erro no código que você me enviou. O triste é que a Microsoft ainda mantêm no Help exemplos com a versão antiga que também não dão certo. Como não sou experiente em VBA, tenho dificulldades em entender algumas coisas. Pelo que pesquisei no help, parece que agora novos objetos foram incorporados em substituição ao modelo anterior e eu não entendi patavina. Os novos objetos são: ScopeFolders e ScopeFolder SearchFolders SearchScopes e SearchScope É uma verdadeira salada de letras que só fazem mais confusão. O pior é que a própria Microsoft usa exemplos misturando as duas linguagens. Olhem, só esse exemplo do help: Use a propriedade SearchScopes do objeto FileSearch para retornar uma coleção SearchScopes; por exemplo: Dim sss As SearchScopes Set sss = Application.FileSearch.SearchScopes Se não existe mais o objeto FileSearch, como pode dar certo? Se você rodar o exemplo, vai gerar um erro de execução: "O objeto não aceita esta ação." Me perdoem o desabafo, mas para quem está aprendendo, ralando para entender, situações como essa fazem você se sentir um bobo, um burro. Os exemplos no help do programa são uma lástima, que mais confundem do que ajudam e isso quando tem exemplos. Se alguém puder me socorrer, ficaria muito grato. Eu só quero preencher um simples combobox com os nomes das pastas de trabalho existentes em determinado diretório. De qualquer forma, quero deixar aqui meu agradecimento ao João pela disposição em me ajudar. Beto :wacko:
  11. Eu criei um aplicativo no VBA Excel que atualiza pastas de trabalho que estão todas num mesmo diretório. A pasta principal onde o Userform foi desenvolvido atualiza as demais pastas. Eu quero atualizar os dados nas células dessas pastas de trabalho, mas não quero que apareça a pasta onde eu estou atualizando. Dou exemplo: suponha que estou trabalhando com a PASTA A.XLSM onde meu UserForm está. Nele eu tenho uma funcionalidade para atualizar uma determinada célula que está na planilha Plan1 que está na PASTA B.XLSM. Eu não quero que o usuário veja a abertura da PASTA B.XLSM, eu quero que seja feita a alteração na célula da Plan1 na PASTA B.XLSM e que fique visível apenas o meu UserForm criado na PASTA A.XLSM. Para todos os efeitos, o usuário nem precisa saber da existência das demais pastas de trabalho. Toda a funcionalidade do programa estará centrada no meu UserForm. Isto é possível? Se for, poderiam me explicar como? Valeu! Beto
  12. João, valeu pela ajuda, mas não tenho muita experiência com o VBA Excel. Copiei o seu código, mas quando rodei o programa acusou erro. Ao colocar o ponteiro do mouse sobre o erro, acusa que o objeto Application.FileSearch não aceita esta ação. Tentei sem o With/End With e deu o mesmo erro. Criei um diretório com três pastas.xls. Meu UserfOrm tem apenas um botão de comando e o combobox. O path que estou usando é c:\Users\Public\Excel Poderia verificar porque desse erro? Beto
  13. Imaginem que eu tenho no diretório C:\ARQUIVOS cerca de três pastas de trabalho: Pasta1.xls, Pasta2.xls e Pasta3.xls. No meu UserForm eu tenho um combobox que vai ser alimentado com os nomes dessas pastas. Todos as pastas estarão fechadas. Quero apenas que a rotina busque no diretório os nomes dessas pastas e alimente o meu combobox com o nome delas. Alguém sabe me dizer como posso fazer isso? Valeu! Beto
  14. Quero carregar um ComboBox. Imagine que eu tenho vários funcionários que pagam PA (pensão alimentícia). Para cada funcionário eu tenho uma pasta de trabalho contendo todos os dados da PA, salário, nome do funcionário, a planilha de cálculo de sua folha, etc. Nessa interface (UserForm) que eu quero criar, eu terei um combo que será alimentado apenas com o nome dos funcionáriosque pagam PA. As pastas de trabalho de cada funcionário serão armazenadas no mesmo diretório da planilha onde será montada a planilha base contendo o UserForm. Qual a maneira mais fácil de carregar esse combo? Suponha que eu nomeie cada pasta de trabalho com o nome completo do funcionário. O combo teria que ser capaz de analisar o diretório, achar todas as pastas de trabalho e alimentar cada entrada com os nomes dos funcionários. Esses nomes seriam o próprio nome das pastas de trabalho. Isso é possível? Vamos supor que eu tenha no diretório C:\FUNCIONARIOS\PA as pastas de trabalho: Zequinha da Silva.xls, Pedro Alvares Cabral.xls e Joaquim das Couves.xls Eu quero alimentar o combo no initialize do meu UserForm com os nomes desses funcionários. Se eu incluir depois mais uma PA, o procedimento terá que ser capaz de identificar essa nova pasta de trabalho. Como posso fazer isso? Valeu! Beto
  15. Meu sistema operacional é o Vista e uso a versão 2007 do Excel. Contudo, no meu trabalho usamos a versão 2003 do Excel. Como estou desenvolvendo parte do aplicativo em casa, como devo salvar para que ele funcione lá no meu trabalho? Valeu! Beto
  16. Eu criei um aplicativo no VBA Excel que atualiza pastas de trabalho que estão todas num mesmo diretório. A pasta principal onde o Userform foi desenvolvido atualiza as demais pastas. Eu quero atualizar os dados nas células dessas pastas de trabalho, mas não quero que apareça a pasta onde eu estou atualizando. Dou exemplo: suponha que estou trabalhando com a PASTA A.XLSM onde meu UserForm está. Nele eu tenho uma funcionalidade para atualizar uma determinada célula que está na planilha Plan1 que está na PASTA B.XLSM. Eu não quero que o usuário veja a abertura da PASTA B.XLSM, eu quero que seja feita a alteração na célula da Plan1 na PASTA B.XLSM e que fique visível apenas o meu UserForm criado na PASTA A.XLSM. Para todos os efeitos, o usuário nem precisa saber da existência das demais pastas de trabalho. Toda a funcionalidade do programa estará centrada no meu UserForm. Isto é possível? Se for, poderiam me explicar como? Valeu! Beto
×
×
  • Criar Novo...