Compartilhar via

Validar Layout de Arquivo antes de Importar

Anônima
2013-02-14T13:46:28+00:00

Bom Dia Senhores!

Mais uma vez recorro ao Prezados para mais uma ajuda!

Vamos Lá!

Seguinte:

Montei uma planiha para análise de reposição de estoque (MRP SAP/MMI). No software em questão é possível montar um layout para exportação do arquivo (.xls).

Criei então o Layout e a plainlha para receber a importação deste arquivo, e realizar a análise das necessidades de forma mais rápida e segura, pois através de análise condicional é possível separar mais rapidamenente o que vai e o que não vai ser comprado! até aqui tudo perfeito pois eu mesmo sou o operador da planilha e sei os Layout que tenho que selecionar no SAP e como proceder se algo dar errado!(eu mesmo já baixeio o Layout errado e importei na planilha... Acontece!!! rssss..)

Porém agora, será distribuída esta tarefa para alguns setores e quero que eles sigam exatamente da forma que faço. para isso preciso proteger a planilha para que ela só importe o arquivo se estiver no mesmo layout que desenvovi para tal função.

Tentei xml, mas sem sucesso, não tenho tanta experiência assim com o XML.(mas vou começar a estudar pois vejo utilidades no futuro)

Pensei então em verificar o nome da coluna que é sempre o mesmo e sempre vem na linha a partir da coluna B na linha 9 e assim sucessivamente..... mas o grande detalhe... como fazer antes da importação? verificar o nome das dez colunas para ter certeza que ninguém vai deixar a planilha sem funcionalidade!

Segue abaixo o Código que utilizo na importação dos arquivos...

Sub Update_MRP()

Dim strPath As String

Dim Filtro As String

Dim Titulo As String

Dim Arquivo

Dim Agora

    'Desprotejer Planilha

    DesBlock

    'Apagar atualização anterior

    Sheets("MRP").Range("$A$10:$B$509,$D$10:$L$509 ").Select

    Selection.ClearContents

    Range("A10").Select

    'Apagar gerenciamento de nomes (evitar poluição no gerenciamento)

    For Each qTable In Sheets("MRP").QueryTables

    qTable.Delete

    Next qTable

        Arquivo = Application.GetOpenFilename(FileFilter:=Filtro, _

        Title:=Titulo, MultiSelect:=True)

        With ActiveSheet.QueryTables.Add(Connection:= _

            "TEXT;" & Join(Arquivo) _

            , Destination:=Sheets("MRP").Range("$D$10"))

        .Name = "MRP"

        .FieldNames = True

        .RowNumbers = False

        .FillAdjacentFormulas = False

        .PreserveFormatting = True

        .RefreshOnFileOpen = False

        .RefreshStyle = xlOverwriteCells

        .SavePassword = False

        .SaveData = True

        .AdjustColumnWidth = False

        .RefreshPeriod = 0

        .TextFilePromptOnRefresh = False

        .TextFilePlatform = 1252

        .TextFileStartRow = 11

        .TextFileParseType = xlDelimited

        .TextFileTextQualifier = xlTextQualifierDoubleQuote

        .TextFileConsecutiveDelimiter = False

        .TextFileTabDelimiter = True

        .TextFileSemicolonDelimiter = False

        .TextFileCommaDelimiter = False

        .TextFileSpaceDelimiter = False

        .TextFileColumnDataTypes = Array(9, 1, 1, 1, 1, 1, 1, 1, 1, 1)

        .TextFileTrailingMinusNumbers = True

        .Refresh BackgroundQuery:=False

    End With

    Sheets("MRP").Range("$D$5") = Join(Arquivo)

    Sheets("MRP").Range("$C$6").Value = Now

    Range("A$10").Select

    Block

End Sub

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

  1. Anônima
    2013-02-14T17:30:51+00:00

    Olá Edval,

    Para questões do Office envolvendo VBA, poste sua dúvida no fórum do link abaixo, que é o fórum especifico para estas questões com VBA:

    http://social.msdn.microsoft.com/Forums/pt-BR/vbapt/threads

    Até mais!!!

    Esta resposta foi útil?

    0 comentários Sem comentários

1 resposta adicional

Classificar por: Mais útil
  1. Anônima
    2013-02-14T18:58:08+00:00

    Olá Edval,

     

    Para questões do Office envolvendo VBA, poste sua dúvida no fórum do link abaixo, que é o fórum especifico para estas questões com VBA:

     

    http://social.msdn.microsoft.com/Forums/pt-BR/vbapt/threads

     

    Até mais!!!

    Caro, Bruno, Blezinha, postei lá também! Segue link abaixo!

    Se esta pergunta será apagada, segue link do que foi postado no forum VBA. mas se souber responde, por favor não se acanhe! tô precisando muito da resposta!

    Como não sou programador VBA... por isso postei aqui! que diga-se de passagem, toda a planilha foi montada através de dicas aqui do forum! Valeu e Obrigado! desculpas se as regras mudaram!

    http://social.msdn.microsoft.com/Forums/pt/vbapt/thread/6344e578-d33f-4a15-bd1d-204c90e489ca

    Esta resposta foi útil?

    0 comentários Sem comentários