Ir para conteúdo
Fórum Script Brasil
  • 0

Como fazer com que uma planilha identifica itens em outra e classifique-os


Thamires Furtuoso Alexandre

Pergunta

Olá, a todos!

Preciso organizar uma planilha com muitos itens em categorias, as categorias sempre são as mesmas, e os itens são diversos, preciso de um código em que eu coloque todos os itens nela e ao clicar em "classificar" os itens receberiam 3 descrições a mais, mas sem embaralhar os dados, só adicionar esses detalhes. Por exemplo:

ITENS          NOME       IDADE

cachorro     Bruce        2 

Gato            Lilo            2                                   -------------------------> Clico em "CLASSIFICAR"

Armário       N/A            3

 RECEBO

ITENS          NOME       IDADE      TAG1           TAG2             TAG3

cachorro     Bruce        2               Animal         Mamífero      Doméstico

Gato            Lilo            2               Animal         Mamífero      Doméstico

Armário       N/A            3              Objeto         Móvel            Cozinha

O tema é fictício, rsrs. Mas preciso para o trabalho, havia pensado em alguma coisa com RPA, mas acredito que o excel já conseguiria fazer.

Estou aberta a sugestões de linguagem, e como posso procurar para aprender a fazer rsrs

 

Me AJUDEM, por favor!!!!!

 

 

 

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Assim, criei um link com as planilhas. o Layout é bem simples, preciso dessas descrições para jogar em um banco de dados depois.

Os itens têm nomes longos, mas o código deveria identificar a partir de algumas palavras chaves pré-determinadas, por exemplo, nessas planilhas "Cabo", "Eletroduto", "Hidrômetro", etc... 

LINK: https://drive.google.com/drive/folders/1Fw489V5qPIdWVM7Ku_IRpe9W7kndIYz4?usp=sharing

A planilha "Sem Classificação" é o input, e a "Classificada" o output.

 

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia.

Olha se esse código abaixo te ajuda.
 

'Planilha não tem as informações completas, sendo nescessário ter uma base
'de dados para colocar as informações pesquisar e adcionar na planilha
'principal. Depois de adcionar classificar
' -> Recomendado base de dados ter um ID (identificação unica numérica) para relalizar pesquisas acertivas
' -> Adcionar colunas e linhas para fazer a classificação
' -> Percorrer a planilha Produtos para localizar as tag para classificar
' -> Classificar pelas colunas adicionadas


Public Sub main() 'Processo principal
'Variáveis
Dim x                   As Long 'Variável de iteração linhas
Dim y                   As Long 'Variável de iteração colunas
Dim lastRow             As Long 'Ultima linha
Dim wantedValue         As String 'Pexto de pesquisa
Dim rowInAnoterSheet    As Variant 'Numero da linha na tabela produtos
Dim shProducts          As Worksheet 'tabela produto


Set shProducts = Sheets("Produtos")

'Partindo do princípio que os dados começam na coluna B
'Add colunas
Sheets("Itens").Select
Columns("B:D").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlToRight

'Adicionar títulos as colunas utilização iteração
For y = 2 To 4
    Cells(1, y).Value = "TAG " & y - 1
Next y

'Percorrer linnhas e adcionar as informações da colunas de classificações
'Iteração para linhas
lastRow = Cells(Rows.Count, "E").End(xlUp).Row
For x = 2 To lastRow
    wantedValue = Cells(x, "E").Value
    rowInAnoterSheet = SourchLineProduct(wantedValue)
    
    
    If rowInAnoterSheet = 0 Then
        Cells(x, 2).Value = "Não encontrado"
    Else
        For y = 2 To 4
            Cells(x, y).Value = shProducts.Cells(rowInAnoterSheet, y).Value
        Next y
    End If
    
Next x

'Classificar a tabela itens
ActiveWorkbook.Worksheets("Itens").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Itens").Sort.SortFields.Add2 Key:=Range("B2:B" & lastRow), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Itens").Sort.SortFields.Add2 Key:=Range("C2:C" & lastRow), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Itens").Sort.SortFields.Add2 Key:=Range("D2:D" & lastRow), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Itens").Sort
    .SetRange Range("B1:I" & lastRow)
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With

End Sub

Public Function SourchLineProduct(TextFind As String) As Long
On Error GoTo ErrorFind
Dim res As Long

res = Application.WorksheetFunction.Match(TextFind, _
                    Sheets("Produtos").Range("E:E"), 0)
                    

SourchLineProduct = res
Exit Function

ErrorFind:
Err.Clear
SourchLineProduct = 0
Exit Function
End Function

Planilha de exemplo: https://drive.google.com/file/d/1G49lhYiJt7UN4guvWfa0XCsGC8EsUyb0/view?usp=sharing

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...