Ir para conteúdo
Fórum Script Brasil
  • 0

Erro tempo de Execução '9': Subscrito Fora do Intervalo


adriano944

Pergunta

Pessoal

Estou com mais um probleminha..pra variar ne..hehehe

Bom..desta vez é o seguinte, eu tenho uma tabela com milhares de valores...

onde eu faço algumas comparações e pego alguns valores.

porem em uma determinada linha do codigo, está apresentando a msg de erro abaixo:

Erro Tempo de Execução '9':

Subscrito Fora do Intervalo.

o que poderia ser? alguém faz ideia?

Coloquei o codigo abaixo para vocês visualizares.

______________________________________________________________________________________________________________________________________________

Sub formatadataeconta()

Dim cont As Integer

Dim conti As Integer

Dim mesatualref As String

Dim contmes As Integer

Dim contimes As Integer

Dim ano As String

Sheets("principal").Select

mesatualref = Range("f19")

ano = Range("b19")

For x = 9 To 18

Sheets("Principal").Select

If Cells(x, 2) = "SIM" And Cells(x, 1) <> "" Then

modelo = Cells(x, 1)

cont = 0

conti = 0

contmes = 0

contimes = 0

Sheets("Desenhos Novos").Select

For i = 10476 To ActiveSheet.UsedRange.Rows.Count

Sheets("Desenhos Novos").Select

If ActiveSheet.Cells(i, 28) <> "" And ActiveSheet.Cells(i, 29) <> "" Then

If mesatualref = ActiveSheet.Cells(i, 28) And ano = ActiveSheet.Cells(i, 29) Then

modelo = Str(modelo)

celula = Str(Sheets("Desenhos Novos").Cells(i, 4))

If celula = modelo Then

ActiveSheet.Cells(i, 28).Select

contmes = contmes + 1

ActiveSheet.Cells(i, 28).EntireRow.Select

Selection.EntireRow.Copy

Sheets(modelo).Select >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> O erro apresenta nesta linha.

If activesheet.Cells(1, 1) = "" Then

Sheets(modelo).Cells(ActiveSheet.UsedRange.Rows.Count, 1).Select

ActiveSheet.Paste

ElseIf Sheets(modelo).Cells(1, 1) <> "" Then

Sheets(modelo).Cells(ActiveSheet.UsedRange.Rows.Count + 1, 1).Select

ActiveSheet.Paste

Application.CutCopyMode = False

End If

Sheets("Desenhos Novos").Select

Else

End If

End If

Else

ActiveSheet.Cells(i, 28).Select

contimes = contimes + 1

End If

ActiveSheet.Cells(i, 28).Select

Next

Sheets("Principal").Select

For b = 8 To 13

If ActiveSheet.Cells(b, 1) <> "" And ActiveSheet.Cells(b, 1) = modelo And ActiveSheet.Cells(b, 2) = "SIM" Then

ActiveSheet.Cells(b, 7).Select

ActiveSheet.Cells(b, 7) = contmes

End If

Next

End If

Next

End Sub

______________________________________________________________________________________________________________________________________________

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
o debug para em qual linha?

KodornaRocks,

O erro é apresentado na linha: Sheets(modelo).Select

no codigo eu coloquei algumas ">>>>>" monstrando onde da o erro.

Cara eu não sei qual é o tipo de informaçao que você ta trabalhando, mas você precisa da uma analisada ae porque o erro acontece justamente quando você vai selecionar uma planilha,

que vem de uma variavel, veja ae o que está sendo feito no meiu de tantas condições, porque isso é algum valor que está sendo adicionado a variavel referente ao guia inexistente.

ou seja, depois de tanta condições colocadas no codigos ao adicionar o valor a variavel pode estar sendo adicionado uma celula em branco... ou seja até mesmo o nom da guia.

só que com algum caracter diferente.. (lembrando que o valor dentro da variavel é Case Sensitive, ou seja "a" é diferente de "A" ou "e" é diferente de "é".

enfim.. espero ter ajudado em alguma coisa.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
o debug para em qual linha?

KodornaRocks,

O erro é apresentado na linha: Sheets(modelo).Select

no codigo eu coloquei algumas ">>>>>" monstrando onde da o erro.

Cara eu não sei qual é o tipo de informaçao que você ta trabalhando, mas você precisa da uma analisada ae porque o erro acontece justamente quando você vai selecionar uma planilha,

que vem de uma variavel, veja ae o que está sendo feito no meiu de tantas condições, porque isso é algum valor que está sendo adicionado a variavel referente ao guia inexistente.

ou seja, depois de tanta condições colocadas no codigos ao adicionar o valor a variavel pode estar sendo adicionado uma celula em branco... ou seja até mesmo o nom da guia.

só que com algum caracter diferente.. (lembrando que o valor dentro da variavel é Case Sensitive, ou seja "a" é diferente de "A" ou "e" é diferente de "é".

enfim.. espero ter ajudado em alguma coisa.

abraço

Vou dar uma analisada aki..mas o problema acredito que não seja este..

se eu não me engano o problema começou a aparecer quando eu coloquei a instrução:

modelo = Str(modelo)

celula = Str(Sheets("Desenhos Novos").Cells(i, 4))

mas, se eu tiro ela, ai da outro erro...e eu não consigo efetuar uma das condições nas linhas pra cima no codigo....

Link para o comentário
Compartilhar em outros sites

  • 0

De 2 a uma,

Ou isso aqui resolve:

modelo = Str(Cells(x, 1).Value)

OUUUUU

a célula x,1 possui um valor que não bate com nenhum sheet que exista no workbook...

faz algum teste do genero:

found = 0
modelo = Str(Cells(x, 1).Value)
For Each Worksheet In Worksheets
    If Worksheet.Name = modelo Then
        found = 1
    End If
Next Worksheet
If found = 0 Then
    MsgBox "O Worksheet '" & modelo & "' não pode ser encontrado dentre os Worksheets do Workbook atual."
Else
    Worksheets(modelo).Select
End If

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...