VBA – Busca de texto de células retornando o número da linha

Encontrado nas andanças na internet, a macro abaixo faz exatamente a função “Localizar” do Excel, só que no VBA.

Public Function FindRowPos(sText As Variant, _
                           Optional SearchDirection As XlSearchDirection = xlNext, _
                           Optional SearchOrder As XlSearchOrder = xlByRows) As Long
 
    Dim lResult As Long, oRg As Range
 
    Set oRg = Cells.Find(What:=sText, LookIn:=xlValues, _
                         LookAt:=xlPart, SearchOrder:=SearchOrder, _
                         SearchDirection:=SearchDirection, _
                         MatchCase:=False, SearchFormat:=False)
 
    If Not oRg Is Nothing Then lResult = oRg.Row
 
    FindRowPos = lResult
 
    Set oRg = Nothing
End Function

O exemplo de chamada seria bem simples:

Public Sub TestandoOBuscar()
    MsgBox FindRowPos("bla")
    MsgBox FindRowPos("bla", xlNext)
    MsgBox FindRowPos("bla", xlNext, xlByColumns)
End Sub

Bom proveito!

Referências

http://snippets.dzone.com/posts/show/13521

VBA – TextBox para digitar placas de Veículos

Colegas, tenho visto alguns Tópicos nos Foruns que participo sobre a questão de se permitir a digitação ambigua em um mesmo TextBox somente com LETRAS e NUMEROS, estava pesquisando sobre a possibilidade e até encontrei algumas opções, mas teriamos de desenvolver um Function para tal, então achei uma forma mais simples, que seria a utilização de 02(dois) Textbox (Agrupados) onde no final o resultado Concatenado nos da o que pretendemos alem de impedir que se digite Numero no local que são para Letras e vice-versa.

Confiram no anexo, para digitação de Placas de Veiculos, acredito ser uma solução paliativa mas funcional, nos possibilitando outras combinações.

TextBox Placas
TextBox Placas

Download do Arquivo

TxtBoxPlacas.zip

Carreira – Divulgue suas vagas com sinceridade. Você só tem a ganhar

Resolvi criar o post para compartilhar a experiência que tivemos na empresa.

Recentemente precisamos aumentar a equipe. A contratação era para um Programador .NET Pleno. Daí já podemos concluir alguns filtros. De qualquer forma, não estava disposto a divulgar mais uma vaga com os dizeres:

A ….., empresa que atua com desenvolvimento de software e alocação, seleciona profissional no perfil abaixo para atuação em empresa de …. localizada na região de ….:

Analista Programador. NET

  • Com experiência em:
  • C#, Asp.Net e Banco de Dados SQL Server.
  • Contratação PJ – R$ ….. + bla + bla + bla.
  • Local de Trabalho: Algum lugar no Brasil
  • Interessados e dentro do perfil, favor encaminhar currículo com pretensão salarial.

 

Convenhamos, os descritivo acima diz o que? Em minha opinião, nada. É o tipo de vaga que quer dizer: “seja o que Deus quiser!”.

Tentando seguir o exemplo de algumas empresas mais, digamos, “cabeça aberta”, resolvi ser sincero ao extremo ao descrever a vaga. No fim, deu um pouco de trabalho, mas saiu algo assim:

Programador .NET Pleno

Estamos contratando um programador para trabalhar em um grande projeto de desenvolvimento e integração de portais. Haverão várias tecnologias envolvidas, inclusive o uso de frameworks conhecidos no mercado, mas a grande parte do desenvolvimento será em ASP.NET e C#.

É um desafio muito bacana. A empresa possui vários outros projetos em andamento constante e se o profissional tiver o perfil da equipe, continuará fazendo parte dela. Abaixo segue o perfil do profissional que esperamos desejamos:

Conhecimentos e Habilidades

Pelo menos 3 anos de experiência em programação de sistemas para a web principalmente em ASP.NET. Dominar a linguagem C# e ser um ótimo conhecedor de XHTML e Javascript. Conhecer bibliotecas como jQuery e outras será um diferencial.

Deve ser capaz de conceber, criar, analisar, depurar, testar e debulhar soluções em .NET e dominar o Visual Studio .NET (2005 a 2010). É imprescindível conhecer bem a produção e acesso a Web Services.

  • Conhecer T-SQL para manutenção do banco de dados. Dominar programação SQL será um diferencial.
  • Conhecer outras linguagens como forma de agregar conhecimento.
  • Ter vivência e gostar da cultura de testes.
  • Ter vivência e cultura de trabalho com Controladores de Versão de código (CVS, SVN)
  • Ter projetos publicados ou fazer parte de comunidades será um diferencial.

Atitudes

  • Tem que saber e gostar de trabalhar em equipe.
  • Ser apaixonado por tecnologia e programar por vocação.
  • Ter garra e vontade de resolver problemas.
  • Não ter medo de código mal feito e quando vir um, partir para cima dele, seja para corrigi-lo, ou para destruí-lo!
  • Saber extrair conhecimento da comunidade, bem como colaborar com ela.

Ambiente e Equipe

  • É descontraído, mas sem perder a seriedade e o foco.
  • Idéias e tecnologias novas são muito bem vindas, mas como tudo, você vai ter que provar que elas funcionam e que valem a pena.
  • O pessoal aqui entende do que faz. Discussões e debates sobre tecnologias são constantes e produtivos.
  • Não há grandes restrições quanto ao uso de ferramentas. Você pode usar seu toolkit se preferir, e vamos adotá-lo se for bom.
  • O horário de trabalho é flexível, mas a rotina é das ….

Imediações

Estamos na região da …., ao lado do …. e do …., a 10 minutos da estação …. Acesso por transporte público não é problema. As opções de restaurante também são muito boas.

Foi algo desse tipo. Confesso que não é a melhor descrição do mundo, mas, o que conseguimos com isso? Candidato com o perfil muito próximo do que queríamos.  Foi um acerto e tanto!

O que tirar dessa lição? Só uma coisa. Sinceridade. Não enrole para tentar convencer o profissional a participar do processo para fazer perder seu tempo e o dele. Vá direto ao assunto. Não sou especialista no assunto, mas só posso relatar que a experiência e o resultado foram muito bons!

Boa sorte!