Olá, sou novo aqui no forum e sou novo nesse quesito "programar".
Estou criando um programa de filtro de arquivos no vba utilizando o excel como "banco de dados".
Eu fiz um formulário que copiasse todos os nomes de todos os arquivos de uma determinada pasta de um determinado local.
Agora estou tentando fazer com que o programa localize um trecho do nome do arquivo e copie tudo da celula de uma planilha , onde esse trecho se encontra, para outra planilha.
Após isso ele listaria em uma listbox apenas a segunda planilha. No caso, apenas os nomes "filtrados"/"localizados"
Segue minha tentativa:
Sub listabox()
linha = 2
Sheets("listaarquivosfiltrados").Range("A2:B" & Range("A1").End(xlDown).Row).ClearComments
filtrocodigo = UserForm1.txt_codigo
filtrocodenome = UserForm1.txt_codenome2
Texto = filtrocodigo & "-" & filtrocodenome
GoTo filtro
filtro:
If Sheets("listaarquivos").Cells(linha, 1).Value = "*Texto" Then
Sheets("listaarquivosfiltrados").Range("A" & linha).Value = Sheets("listaarquivos").Cells(linha, 1).Value
Sheets("listaarquivosfiltrados").Range("B" & linha).Value = Sheets("listaarquivos").Cells(linha, 2).Value
linha = linha + 1
Else
If Sheets("listaarquivos").Cells(linha, 1).Value = "" Then
GoTo criar
Else
linha = linha + 1
End If
End If
GoTo filtro
criar:
Sheets("listaarquivosfiltrados").Select
ultimalinha = Range("A1").End(xlDown).Row
With UserForm3.listaarquivos
.BoundColumn = 1
.ColumnCount = 2
.ColumnHeads = True
.TextColumn = True
.RowSource = "listaarquivosfiltrados!A2:B" & ultimalinha
.ListStyle = fmListStylePlain
.ListIndex = 0
End With
End Sub
Alguem pode me ajudar?
Postado : 16/09/2015 8:25 am