Página 1 de 1

Duvida com UserForm

Enviado: 29 Jan 2018 às 09:55
por rit
Bom dia Amigos,

Eu tenho um código que foi feito por um amigo aqui do forum onde eu ja mudei algumas coisas, e ele funciona perfeitamente porem, eu queria aprimorar ele usando um Userform, como eu faço para chamar o useform e selecionar um item na lista, o código é esse abaixo, ja criei o useform criei a lista porem ele não seleciona o que eu quero, obrigado!
Código: Selecionar todos
Sub Listar_Atraso()
Dim lr As Long
Dim sNomeAbreviado As String
Dim wb As Workbook
Dim ws As Worksheet
Dim fr As UserForm
'Limpar tabela destino
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name = "ATRASO" Then
            ws.Range("a1:AD" & ws.Rows.Count).Clear
        End If
    Next ws

' Limpa todos os filtros da planilha
If ActiveSheet.FilterMode Then
        
        ActiveSheet.ShowAllData
        
        End If

'Filtrar e selecionar atrasos
lr = Cells(Rows.Count, "A").End(xlUp).Row

With ThisWorkbook.Worksheets("ES0659")
    .Range("AD:AD").Delete
    [AD3].Value = "InsForm"
    .AutoFilterMode = False
    .Range("AD4").Formula = "=INT((TODAY()-S4+1))" 'Qual é a coluna de data?
    .Range("AD4").AutoFill Destination:=Range("AD4:AD" & lr)
    .Range("D3:AD3").AutoFilter
    .Range("D3:AD3").AutoFilter Field:=27, Criteria1:=">" & 1
sNomeAbreviado: UserForm1.Show 'InputBox("Selecione o Nome Abreviado STAUFF,TC SERVICOS,AQUANEX,WEG,FL,KIT NIVEL,WIKA LTDA,HAME,SHERWIN BNU")'
    If sNomeAbreviado = vbNullString Then
        MsgBox ("Busca cancelada")
        .AutoFilterMode = False
        .Range("AD:AD").Delete
        Exit Sub
    End If
    .Range("A3:AC3").AutoFilter Field:=12, Criteria1:=sNomeAbreviado
    .Range("A3:AC" & Cells(Rows.Count, "A").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Copy Worksheets("ATRASO").Range("A1")
    'Set wb = Workbooks.Add'
    'ThisWorkbook.Sheets("ATRASO").Copy Before:=wb.Sheets(1)'
    'sNomeAbreviado = InputBox("Selecione o Nome Abreviado")'
   ' wb.SaveAs "C:\Users\HIN4PO\Desktop\FOLLOW UP\"'
    
End With

End Sub
Código do useform
Código: Selecionar todos
Private Sub UserForm_Initialize()
ListBox1.RowSource = Range("O3:AO100").Address
End Sub

Duvida com UserForm

Enviado: 29 Jan 2018 às 10:01
por JCabral
Era mais fácil ajudar se colocasses a planilha, mesmo com dados ficticios

Re: Duvida com UserForm

Enviado: 29 Jan 2018 às 10:09
por rit
Segue anexo, se alguem puder dar uma olhada eu ficaria muito agradecido.

Duvida com UserForm

Enviado: 29 Jan 2018 às 14:29
por rit
alguém ?

Duvida com UserForm

Enviado: 29 Jan 2018 às 16:20
por JCabral
Não consigo entender aonde estão os dados dos fornecedores.

Duvida com UserForm

Enviado: 29 Jan 2018 às 16:55
por rit
Na COLUNA O, talvez eu tenha me explicado mal, eu preciso que a tela do form faça uma lista com essa coluna O sem repetir os nomes, e quando eu selecionar ele faça o código que eu coloquei ai, esse código ele faz uma copia para uma das ABAS do arquivo:

Hoje esse código abre uma box pra eu colocar um nome de fornecedor assim ele pega o que esta atrasado e manda para a outra planilha, só que eu preciso digitar o nome exatamente como esta por isso eu queria essa lista assim inves de digitar eu selecionaria.

Duvida com UserForm

Enviado: 31 Jan 2018 às 13:43
por JCabral
Rit

Veja se é mais ou menos isso que pretende

Abraço
Jorge Cabral

Duvida com UserForm

Enviado: 31 Jan 2018 às 13:59
por rit
Boa tarde Jorge,

Muito obrigado pela solução mas já havia conseguido fazer olhando outros exemplos pela internet, era exatamente isso que eu precisava mas ja tinha conseguido fazer, de qualquer forma muito Obrigado!