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

    Transferir dados da listbox duas vezes

    avatar
    jeffcamargo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 30/05/2024

    Transferir dados da listbox duas vezes Empty Transferir dados da listbox duas vezes

    Mensagem  jeffcamargo 30/5/2024, 01:09

    Tenho uma listbox com dados de uma planilha e não estou conseguindo transferir esses dados para uma outra planilha duas vezes (preciso dos mesmos dados ordenados de duas formas diferentes na mesma planilha).

    Este código transfere os dados apenas uma vez. Depois dos dados coloquei de novo o cabeçalho mas não consegui repetir os mesmos dados após este cabeçãolho:



    Private Sub CRelatorio_Click()

    On Error GoTo Erro

    If ListBox1.ListCount <= 1 Then
       MsgBox "Não há dados para Transferir!", vbCritical, "RELATÓRIO"
       Exit Sub
    End If

    Planilha4.Activate
    Planilha4.Range("B4").Select

    Planilha4.Range(Selection, Selection.End(xlDown)).Select
    Intersect(Selection.EntireRow, Range("B:F")).Select

    Selection.ClearContents

    Planilha4.Range("B4").Select

    Dim linhalistbox As Double, Linha As Double, Numero As Double
    Dim Tempo As Date

    Linha = 4

    For linhalistbox = 1 To ListBox1.ListCount - 1

           On Error Resume Next
           Tempo = ListBox1.List(linhalistbox, 4)
           On Error Resume Next
           Numero = ListBox1.List(linhalistbox, 0)
           
           Planilha4.Cells(Linha, 2) = Numero
           Planilha4.Cells(Linha, 3) = ListBox1.List(linhalistbox, 1)
           Planilha4.Cells(Linha, 4) = ListBox1.List(linhalistbox, 2)
           Planilha4.Cells(Linha, 5) = ListBox1.List(linhalistbox, 3)
           Planilha4.Cells(Linha, 6) = Tempo
           
           Linha = Linha + 1

    Next linhalistbox

    ' Inserir uma quebra de página antes de adicionar o cabeçalho novamente
    Planilha4.HPageBreaks.Add Before:=Planilha4.Cells(Linha, 1)

    ' Adicionar cabeçalho novamente após a última linha preenchida
    Planilha4.Rows(3).Copy Planilha4.Rows(Linha)

    Linha = Linha + 1

    Dim Plan As String
    Plan = Planilha4.Name

    Planilha4.Range("B3").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    ActiveWorkbook.Worksheets(Plan).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(Plan).Sort.SortFields.Add Key:=Range( _
       "D4:D10000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
       xlSortNormal
    ActiveWorkbook.Worksheets(Plan).Sort.SortFields.Add Key:=Range( _
       "F4:F10000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
       xlSortNormal
    With ActiveWorkbook.Worksheets(Plan).Sort
       .SetRange Range("B3:F10000")
       .Header = xlYes
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
    End With
       
       
       
       
    Dim Resposta As Integer
    Resposta = MsgBox("DESEJA IMPRIMIR A CLASSIFICAÇÃO GERAL?", VBA.vbYesNo, "EXPORTAR")

    If Resposta = VBA.vbYes Then
    Módulo2.PDF
    End If

    Exit Sub
    Erro:
    MsgBox "Erro!", vbCritical, "ERRO"

    End Sub


    Última edição por jeffcamargo em 30/5/2024, 23:30, editado 2 vez(es) (Motivo da edição : Inserir o código usado)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3477
    Registrado : 13/12/2016

    Transferir dados da listbox duas vezes Empty Re: Transferir dados da listbox duas vezes

    Mensagem  Alexandre Fim 3/6/2024, 16:42

    Jeff bom dia,

    O fórum é voltado para dúvidas e soluções em MS Access.

    O trabalho que vc pretende realizar pode ser feito através do Access com mais facilidade e com poucas linhas de código também.
    Existem funções expecíficas no Access para exportação de dados em vários formatos, inclusive Excel, para geração de relatorios e etc.

    Se você utiliza o Excel somente como base para manipulação de dados, sugiro que vc utilize o Access, importando essas planilhas e criando uma base de dados, onde é possível a geração de consultas com filtros que achar necessário e etc.

    É isso

    Espero ter ajudado.

    Att,

    Alexandre Fim



    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Transferir dados da listbox duas vezes Setinf11
    Sistemas e Tecnologia Ltda

      Data/hora atual: 23/10/2024, 04:30