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

    Passar código VBA em Excel para Access

    avatar
    trison
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6
    Registrado : 13/03/2012

    Passar código VBA em Excel para Access Empty Passar código VBA em Excel para Access

    Mensagem  trison 26/3/2012, 15:30

    Boa tarde! Criei um código em VBA em Excel e gostaria de passar para o VBA do Access... Alguém me pode ajudar e dizer-me o que estou a fazer de errado?

    Obrigado

    Código:

    Dim RngLin, RngCol
    Dim a, b, c, d, i, aux, f, w, z As Integer

    Set RngLin = Range("A1:A100")
    Set RngCol = Range("A1:Z1")

    'Conta Linhas Ocupadas na Coluna A
    a = Application.WorksheetFunction.CountIf(RngLin, "Tolerância")

    'Conta Colunas Ocupadas
    d = Application.WorksheetFunction.CountIf(RngCol, ">=2009")

    'Limite mais à direita para o Range
    b = a + 3

    'Local da primeira ocorrência de Tolerância
    c = a + 2

    f = 1

    'Ciclo para garantir IF correcto
    w = 0

    For z = 1 To a - 1

    If Cells(c + z, 2).Value = Cells(c + z + 1, 2).Value Then
    w = w + 1

    End If
    Next z

    If w <> a - 1 Then

    For i = 1 To a

    f = f + 1

    aux = i + 2

    Range("A" & f + 1 & ":" & Chr(65 + d) & aux).Select

    Charts.Add

    ActiveChart.ChartType = xlColumnClustered

    ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A" & f + 1 & ":" & Chr(65 + d) & aux), PlotBy:=xlRows

    ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"

    ' Formatação do gráfico

    With ActiveChart

    .HasTitle = True

    .ChartTitle.Characters.Text = "Relatório"

    .Axes(xlCategory, xlPrimary).HasTitle = True

    .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Anos"

    .Axes(xlValue, xlPrimary).HasTitle = True

    .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = " "

    End With

    Next i

    Else

    Range("A1:" & Chr(65 + d) & b).Select

    Charts.Add

    ActiveChart.ChartType = xlColumnClustered

    ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:" & Chr(65 + d) & b), PlotBy:=xlRows

    ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"


    With ActiveChart

    .HasTitle = True

    .ChartTitle.Characters.Text = "Relatório"

    .Axes(xlCategory, xlPrimary).HasTitle = True

    .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Anos"

    .Axes(xlValue, xlPrimary).HasTitle = True

    .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = " "

    End With

    'É criada a linha de Tolerância como um gráfico xlLine extra

    ActiveChart.SeriesCollection(c).Select

    ActiveChart.SeriesCollection(c).ChartType = xlLine


    'apaga campo Certificado da Legenda

    ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveChart.Legend.Select
    ActiveChart.Legend.LegendEntries(1).Select
    Selection.Delete

    End If

    End Sub


    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Passar código VBA em Excel para Access Empty Re: Passar código VBA em Excel para Access

    Mensagem  criquio 26/3/2012, 15:39

    O que você pretende fazer com a função? Importar dados da planilha para o Access? Exibir os dados? Para ambos os casos, você precisará marcar a referência do Microsoft Excel em um módulo vba do Access e depois criar um objeto para poder usar as dependências dele. Pesquise aqui no forum por Excel que você encontrará modelos.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    trison
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6
    Registrado : 13/03/2012

    Passar código VBA em Excel para Access Empty Re: Passar código VBA em Excel para Access

    Mensagem  trison 26/3/2012, 16:04

    Peço desculpa pela falta de informação!

    A ideia é extrair dados do access para o excel e criar um gráfico a partir desses dados. A parte de exportar para Access já está feita e a funcionar e gera-me um workbook novo em excel com as tabelas que eu desejo nas diferentes folhas agora, com este código queria que para além desses dados que também me aparecessem o gráfico relativo a esses mesmos dados contudo, quando coloco no VBA do Access diz, por exemplo, que não conhece a função Application.Worksheet.Countif()

    Como é que faço a transição?

    Muito Obrigado!
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Passar código VBA em Excel para Access Empty Re: Passar código VBA em Excel para Access

    Mensagem  criquio 26/3/2012, 16:37

    Você marcou a referência do Microsoft Excel no módulo vba e criou e instanciou o objeto Microsoft Excel?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    trison
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6
    Registrado : 13/03/2012

    Passar código VBA em Excel para Access Empty Re: Passar código VBA em Excel para Access

    Mensagem  trison 26/3/2012, 16:44

    Antes de mais obrigado pela ajuda.

    Peço desculpa mas eu estou a iniciar-me nestes campos da programação e não percebi nada do q vc falou... Poderia tentar explicar-me do que é isso??

    Abraço
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Passar código VBA em Excel para Access Empty Re: Passar código VBA em Excel para Access

    Mensagem  criquio 26/3/2012, 16:57

    As bibliotecas do Access permitem trabalhar apenas nele próprio. Quando é necessária uma interação com outros programas, é preciso referencias as bibliotecas desse outro programa. A primeira coisa a se fazer, é marcar a referência à essa biblioteca. Algumas delas já fazem parte da lista de referências do Access, principalmente as referentes ao pacote Office e precisam apenas ser marcadas. Para tal, basta você abrir qualquer módulo vba, ir em Ferramentas > Referências, procurar ela na lista e marcar. No seu caso, seria Microsoft Excel xx.x Object Library. O xx.x se refere à versão do seu Office. Se for o 2003, no lugar de xx.x estará o 11.0, Se for 2007, 12.0 e se for 2010, 14.0. Depois disso, você precisa criar um objeto Microsoft Excel e instanciá-lo. Com a referência marcada, as dependências dessa biblioteca se tornam disponíveis para uso. Uma maneira de se fazer isso pode ser assim:

    Dim objExcel As Object ' criamos um objeto de nome objExcel
    Set objExcel = CreateObject("Excel.Application") ' instanciamos esse objeto como Excel

    Aqui o seu código de abertura, formatação, etc

    objExcel.Quit ' Fechamos o objeto instanciado
    Set objExcel = Nothing ' liberamos a memória ocupada pelo objeto


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Conteúdo patrocinado


    Passar código VBA em Excel para Access Empty Re: Passar código VBA em Excel para Access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 23:32