Notifications
Clear all

VBA trazer resultado após palavra específica

6 Posts
2 Usuários
0 Reactions
1,353 Visualizações
(@danielsepp)
Posts: 24
Eminent Member
Topic starter
 

Senhores, bom dia.

Estou com uma situação genérica aqui.

Tenho uma planilha com uma aba contendo um relatório específico. Eu programei o mecanismo da planilha (ir e vir entre abas), mas agora é hora de automatizar. Isso vai me ajudar a resolver outros zilhões de problemas, então, quem puder ajudar, ficarei grato.

Preciso que, na aba 'relatório cru' após um clique no botão 'resultado' ele vá p/ a aba 'resultado' que trará os dados constantes na coluna A e D da aba 'relatório cru', sendo o ´Numero da peça' e o 'Numero SVO' os resultados procurados da aba 'relatório cru' que deverão ser lançados na aba 'resultado' conforme planilha anexa.

O problema aqui começa quando na aba 'relatório cru' os números das peças se repetem, o que necessitaria de um 'for' para buscar o resultado logo após a palavra 'SVO' na linha comprometida.

Sugestões?

Obrigado.

 
Postado : 11/06/2014 6:53 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Tem como explicar melhor?

Você quer copiar os dados de uma aba para outra, dai para frente eu não entendi mais dada...

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/06/2014 7:08 am
(@danielsepp)
Posts: 24
Eminent Member
Topic starter
 

Beleza, vou tentar ser mais curto.

Aba: relatório cru - a ideia é o 'Numero da peça' e o 'Numero da svo' sejam colocados em outra sheet um do lado do outro.

O que vai variar aqui é o número de colunas do 'relatório cru' que podem ser 4 colunas como no exemplo ou 5 ou 6...por isso tive a ideia de varrer a linha inteira e após encontrar a palavra 'SVO', capturar o número da frente e levar para essa outra sheet ao lado do seu número da peça correspondente.

Pensei em usar Match e Index, mas pelo fato dos números das peças se repetirem as vezes isso não ia funcionar, então por isso vai ter que ser uma varredura de linha por linha.

 
Postado : 11/06/2014 7:18 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Daniel,

Substitui todo o seu código por este:

Option Explicit

Sub GoResult()
Dim wb      As Workbook
Dim wsResul As Worksheet
Dim wsRelat As Worksheet
Dim UltL    As Long
Dim UltC    As Long
Dim i       As Long

Set wb = ThisWorkbook
Set wsResul = wb.Worksheets("Resultado")
Set wsRelat = wb.Worksheets("Relatório cru")

UltL = wsRelat.Cells(Rows.Count, 1).End(xlUp).Row
UltC = wsRelat.Cells(1, Columns.Count).End(xlToLeft).Column

    wsResul.Visible = True
    wsResul.Select
    wsResul.Range(Cells(1, 1), Cells(UltL, UltC)).ClearContents
    
    For i = 1 To UltC
        If wsRelat.Cells(1, i).Value = "Numero svo" Then
            wsRelat.Select
            wsRelat.Range(Cells(1, 1), Cells(UltL, 1)).Copy
            wsResul.Select: wsResul.Cells(1, 1).Select
            wsResul.Paste
            
            wsRelat.Select
            wsRelat.Range(Cells(1, i), Cells(UltL, i)).Copy
            wsResul.Select: wsResul.Cells(1, 2).Select
            wsResul.Paste
            
            Application.CutCopyMode = False
            Exit For
        End If
    Next i
    
    wsRelat.Visible = False
    
Set wb = Nothing
Set wsResul = Nothing
Set wsRelat = Nothing
    
End Sub
Sub BackReport()
Dim wb      As Workbook
Dim wsResul As Worksheet
Dim wsRelat As Worksheet

Set wb = ThisWorkbook
Set wsResul = wb.Worksheets("Resultado")
Set wsRelat = wb.Worksheets("Relatório cru")

    wsRelat.Visible = True
    wsResul.Select
    wsResul.Visible = False
    
Set wb = Nothing
Set wsResul = Nothing
Set wsRelat = Nothing
    
End Sub

Qualquer coisa da o grito.
Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/06/2014 8:05 am
(@danielsepp)
Posts: 24
Eminent Member
Topic starter
 

Bernardo, você já me ajudou em anos anteriores cara. Muito obrigado novamente! Pelo seu código vou poder estudar todas as possibilidades que precisarei implantar e vou conseguir expandir tudo agora. Ficou perfeito! Obrigado mesmo.

 
Postado : 11/06/2014 8:12 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

8-)

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/06/2014 8:16 am