Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por rit
Posts
#29843
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
Por rit
Posts
#29849
Segue anexo, se alguem puder dar uma olhada eu ficaria muito agradecido.
Você não está autorizado a ver ou baixar esse anexo.
Por rit
Posts
#29872
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.
Avatar do usuário
Por JCabral
Avatar
#29925
Rit

Veja se é mais ou menos isso que pretende

Abraço
Jorge Cabral
Você não está autorizado a ver ou baixar esse anexo.
Por rit
Posts
#29927
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!
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord