• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Tesla

[Resolvido] Excel + VBA = Erro maluco!

12 mensagens neste tópico

Olá malta.

Antes de mais, boas a todos.

Tenho este problema. Sempre que corro o código abaixo aparece-me este erro: errovq1.jpg

!!

Como poderei solucioná-lo? O código está errado?

Public Sub weeks51()
Dim folhas As Double, coluna As Double, linha As Double

For folhas = 1 To 51
    ActiveSheet.Copy After:=Sheets(folhas)
    ActiveSheet.Name = "Semana" & Format(folhas + 1)
    For coluna = 65 To 66
        For linha = 2 To 50
            Range(Chr(coluna) & Format(linha)).Select
            If coluna = 65 Then
                ActiveCell.Formula = "=[_0150.xls]" & ActiveSheet.Name & "!H" & Format(linha)
            Else
                ActiveCell.Formula = "=[Acab0150.xls]" & ActiveSheet.Name & "!G" & Format(linha)
            End If
        Next linha
    Next coluna

    For coluna = 73 To 74
        For linha = 2 To 50
            Range(Chr(coluna) & Format(linha)).Select
            If coluna = 73 Then
                ActiveCell.Formula = "=[_0150.xls]" & ActiveSheet.Name & "!J" & Format(linha)
            Else
                ActiveCell.Formula = "=[Acab0150.xls]" & ActiveSheet.Name & "!L" & Format(linha)
            End If
        Next linha
    Next coluna
Next folhas

End Sub

Obrigado pela ajuda!  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esse código deixa-me criar 14 semanas e depois dá erro nem à mão consigo criar novas folhas

Hoje já não tenho tempo mas amanhã se não conseguires resolver o problema vou ver se chego a alguma conclusão

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito obrigado em me ajudares.

Já tentei um workaround, mas sem sucesso. Continuo preso neste problema.

Cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Será que as macros não estarão desactivadas nos clientes ?

Tentaste fazer debug nas maquinas clientes ?

Outra coisa que poderás tentar :

às vezes o módulo VBA fica corrupto...basta 1 byte para tudo crashar

tenta apagar esse módulo e reescrever um novo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu não vejo nada de errado no código

ele só me deixa criar 14 folha mas parece-me um problema de memória do pc , porque se gravar o livro e voltar a correr a macro com novos valores ele deixa-me criar mais uns tantos e dá erro novamente

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Os pc's onde corro isto têm 1 e 2GB de memória! Aliás, o pc onde estou a programar tem 2GB de memória RAM.

A microsoft tem algo relacionado com este erro, mas como sou um completo leigo em VBA não consigo compreender do que falam eles.

http://support.microsoft.com/kb/319832/pt-br

Obrigado pela vossa ajuda.

Cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim já me preenche todas as folhas

Dim folhas As Integer, coluna As Integer, linha As Integer, folhas2 As Integer

For folhas = 1 To 51
    ActiveSheet.Copy After:=Sheets(folhas)
    ActiveSheet.Name = "Semana" & Format(folhas + 1)
    Next folhas
    
    For folhas2 = 1 To 51
    ActiveWorkbook.Worksheets(folhas2 + 1).Select
    
    For coluna = 65 To 66
        For linha = 2 To 50
            Range(Chr(coluna) & Format(linha)).Select
            If coluna = 65 Then
                ActiveCell.Formula = "=[_0150.xls]" & ActiveSheet.Name & "!H" & Format(linha)
            Else
                ActiveCell.Formula = "=[Acab0150.xls]" & ActiveSheet.Name & "!G" & Format(linha)
            End If
        Next linha
    Next coluna

    For coluna = 73 To 74
        For linha = 2 To 50
            Range(Chr(coluna) & Format(linha)).Select
            If coluna = 73 Then
                ActiveCell.Formula = "=[_0150.xls]" & ActiveSheet.Name & "!J" & Format(linha)
            Else
                ActiveCell.Formula = "=[Acab0150.xls]" & ActiveSheet.Name & "!L" & Format(linha)
            End If
        Next linha
    Next coluna
Next folhas2



0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então...

Primeiro crias todas as folhas e depois é que as preenches certo?

As formulas foram actualizadas correctamente em todas as folhas? Daqui a pouco implemento isso e digo qualquer coisa.

Abraço.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então...

Primeiro crias todas as folhas e depois é que as preenches certo?

sim

agora já não me dá erro algum

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem, não adoptei a tua solução, mas sim o teu principio.

Macro para criar as folhas + Macro para as preencher = Sucesso! :)

Obrigado pela ajuda pessoal!

Cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora