Eduardo, adicional ao que o colega Vitor "disse", em programação não há uma receita unica, não é factivel dizer: utilize nesta ou naquela situação.
ThisWorkbook / ActiveWorkbook /Workbook('xyz"), são formas de se referir ao Objeto "Pasta de Trabalho". Uma pasta de trabalho (workbook) recebe uma ou mais planilhas (worksheets); para referencia-las pode ser por sua ordem na pasta de trabalho: (1).(2).(3) etc.. (aqui deve considerar uma pequena mas importante "peculiaridade" nâo há uma amarração ao numero "dado" pelo sistema (Plan1 Plan2...), mas sim pela sua ordem visualizada na guia de planilhas.
Então pela hierarquia dos objetos primeiro refere-se a Pasta de trabalho e depois a planilha.
Qdo usar um ou outro, pelo pouco que sei não para o vba não há diferença; depende do usuario programador e sua afeição/preferencia.
Com referencia a linha: "Set ws=thisworkbook.worksheets(1): é uma forma de simplificar no codigo o meio de referir-se a uma determinada planilha, com essa "declaração" para referir-se a uma celula da primeira planilha basta "usar" ws.[A1] ou ws.range("A1")
Particularmente; opinião pessoal; para iniciantes é preferivel utilizar o processo mais "longo", ou seja thisworkbook.worksheets("Plan3").range("A1"), pois,creio eu, fixa melhor a sintaxe necessaria.
Básicamente a utilização do If.. é feita quando se pretende efetuar uma operação, porem há alguma condição que deva se considerada.
No seu exemplo
If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then
ListBox1.AddItem .Cells(i, 1)
somente deverá ser adicionado a listbox1 os dados da TextoCelula (aqui imagino que seja uma variavel que pega o valor de uma determinada celula), que forem iguais ao valor digitado em TextoDigitado. Para isso ocorra com todas as linhas/celulas da planilha e necessario tb um loop.
Porem se deseja "carregar" todos os valores de uma planilha (o tal do select * do sql), vc pode utilizar um loop direto (sem o if) ou vincular a range desejada a prorpiedade rowsource do listbox
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 19/03/2013 2:19 pm