MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

2 participantes

    [Resolvido]Como exportar uma tabela para o Excel sem a linha de títulos

    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Como exportar uma tabela para o Excel sem a linha de títulos Empty Como exportar uma tabela para o Excel sem a linha de títulos

    Mensagem  wsenna 16/10/2012, 15:27

    Olá Mestres, bom dia.

    Possuo um código VBA que executa a importação de uma planilha do Excel e acrescenta os dados numa tabela existente. O problema é que antes de executar esta rotina tenho que abrir a referida planilha e excluir a linha de títulos caso contrário apresenta erro de conversão de dados.
    Devo informar que a tal planilha é resultado da exportação de uma tabela do Access e como tal, ao exportar do Access pro Excel a planilha resultante exibe a linha de Títulos o que dificulta a re-importação.

    O Código de importação é o seguinte:

    Private Sub cmdIniciar_Click()
    'Aqui contém alguma linhas do Macoratti - Excel - Visual Basic - Importando e Exportando dados

    Me.Caption = " Atenção: Operação iniciada, por favor, aguarde !!! "

    Dim xl As New Excel.Application
    Dim xlw As Excel.Workbook
    Dim db As Database, rs As Recordset

    If Me.txtPath <> "" And IsNull(Me.cboSheets) Or IsEmpty(Me.cboSheets) Then
    MsgBox "Selecione a planilha de Origem", vbExclamation, "Aviso"
    Me.cboSheets.SetFocus
    Me.cboSheets.Dropdown
    Exit Sub
    End If

    If Me.txtPath <> "" And IsNull(Me.cboTableDefs) Or IsEmpty(Me.cboTableDefs) Then
    MsgBox "Selecione a tabela de Destino", vbExclamation, "Aviso"
    Me.cboTableDefs.SetFocus
    Me.cboTableDefs.Dropdown
    Exit Sub
    End If

    'Abrir o arquivo do Excel
    Set xlw = xl.Workbooks.Open(Me.txtPath)

    Set db = CurrentDb()
    'Abre a tabela receptora no BD corrente
    Set rs = db.OpenRecordset(Me.cboTableDefs)

    'definir qual a planilha de trabalho
    xlw.Sheets(Me.cboSheets.Value).Select

    'Verifica o conteúdo da célula na posição especificada (linha 1,coluna 1)se é > 0
    If xlw.Application.Cells(1, 1).Value > 0 Then

    'Percorre a planilha na posição especificada
    For X = 1 To 65536 'Imagino que neste ponto poderia ser For X = 2 To 65536
    'variavel = xlw.Application.Cells(x, 1).Value - (linha 1,coluna 1) - linha na posição atual do For e
    'adiciona os dados na tabela Access

    '--------------------------------------------------
    If xlw.Application.Cells(X, 1).Value = 0 Then

    Set mc = Worksheets(Me.cboSheets.Value).Cells(X, 1)
    'MsgBox mc.Address()
    MsgBox "Um (0) Zero foi encontrado na célula " & mc.Address() & "." _
    & vbCr & "A importação seguiu normalmente até a" _
    & vbCr & "célula imediatamente anterior a " & mc.Address() & "."

    Exit For

    End If
    '-------------------------------------------------

    rs.AddNew
    rs("IdPac") = xlw.Application.Cells(X, 1).Value
    rs("DataCad") = xlw.Application.Cells(X, 2).Value
    rs("Pront") = xlw.Application.Cells(X, 3).Value
    rs("Convênio") = xlw.Application.Cells(X, 4).Value
    rs("Matrícula") = xlw.Application.Cells(X, 5).Value
    rs("Plano") = xlw.Application.Cells(X, 6).Value
    rs("Validade") = xlw.Application.Cells(X, 7).Value
    rs("Paciente") = xlw.Application.Cells(X, Cool.Value
    rs("DNasc") = xlw.Application.Cells(X, 9).Value
    rs("Idade") = xlw.Application.Cells(X, 10).Value
    rs("Sexo") = xlw.Application.Cells(X, 11).Value
    rs("Cor") = xlw.Application.Cells(X, 12).Value
    rs("ECivil") = xlw.Application.Cells(X, 13).Value
    rs("Profissão") = xlw.Application.Cells(X, 14).Value
    rs("CPF") = xlw.Application.Cells(X, 15).Value
    rs("Ender") = xlw.Application.Cells(X, 16).Value
    rs("Complem") = xlw.Application.Cells(X, 17).Value
    rs("Bairro") = xlw.Application.Cells(X, 18).Value
    rs("Cidade") = xlw.Application.Cells(X, 19).Value
    rs("CEP") = xlw.Application.Cells(X, 20).Value
    rs("UF") = xlw.Application.Cells(X, 21).Value
    rs("Tel") = xlw.Application.Cells(X, 22).Value
    rs("Cel") = xlw.Application.Cells(X, 23).Value
    rs("TelTrab") = xlw.Application.Cells(X, 24).Value
    rs("Educação") = xlw.Application.Cells(X, 25).Value
    rs("EMail") = xlw.Application.Cells(X, 26).Value
    rs("IndicadoPor") = xlw.Application.Cells(X, 27).Value


    rs.Update

    Next X

    'Fechar a planilha sem salvar alterações
    'Para salvar mude False para True
    xlw.Close False

    'Liberando a memória

    Set xlw = Nothing
    Set xl = Nothing
    rs.Close
    db.Close

    'Definindo propriedades
    Me.txtPath = Null
    Me.Text1 = Null
    Me.cboSheets = Null
    Me.cboSheets.Enabled = False
    Me.cboTableDefs = Null
    Me.cboTableDefs.Enabled = False
    Me.cmdProcurar.Enabled = True
    Me.cmdProcurar.SetFocus
    Me.cmdIniciar.Enabled = False
    Me.cboSheets.RowSource = "" 'AddItem wsheet.NameMe.cboSheets.AddItem wsheet.Name

    Me.Caption = " InfoBasic Smart System"
    MsgBox "P R O N T O !!!", vbExclamation, "Fim do Procedimento"

    End If

    End Sub

    A pergunta que não quer calar é:

    Haveria algum lugar onde se possa indicar que a 1º linha não deve ser importada?

    Abraços, WSenna
    wsenna
    wsenna
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 491
    Registrado : 22/12/2009

    [Resolvido]Como exportar uma tabela para o Excel sem a linha de títulos Empty RESOLVIDO

    Mensagem  wsenna 16/10/2012, 15:39

    A solução era exatamente como grifei em vermelho no post acima.
    Desta forma o código ignora a primeira linha da planilha onde estão os títulos e importa todo o restante.

    Fica um grande abraço a todos.

    WSenna
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8066
    Registrado : 05/11/2009

    [Resolvido]Como exportar uma tabela para o Excel sem a linha de títulos Empty Re: [Resolvido]Como exportar uma tabela para o Excel sem a linha de títulos

    Mensagem  Alexandre Neves 16/10/2012, 18:51

    Boa tarde, Mestre
    Para dar o assunto por resolvido, existe um botão apropriado, em vez de alterar o título
    Já marquei
    [Resolvido]Como exportar uma tabela para o Excel sem a linha de títulos MaximoAccess%20ResolvidoMarcado


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

      Data/hora atual: 25/1/2022, 16:15