Notifications
Clear all

Erro 9 - subscrito fora do intervalo

3 Posts
2 Usuários
0 Reactions
1,104 Visualizações
(@silviobaco)
Posts: 2
New Member
Topic starter
 

Pessoal bom dia!

Sou novo no fórum, porém preciso de uma resposta pois esgotei todos os meus recursos.

Estou com o seguinte problema:

Aqui na empresa onde trabalho, temos uma impressora de anilhas de cabo, onde o software dela pode "gerar" um arquivo .xls ( o nome da planilha é Destino) para editar e importar as informações que serão impressas nas anilhas, essas informações são trazidas de outra planilha .csv (de nome Origem)

Eu estou fazendo um código em VBA onde tenho um form com alguns checkbox, buttons, textebox.... para fazer o seguinte processo.

-EU abro este form, seleciono a planilha Origem (que pode estar em qualquer diretório com qualquer nome) onde estão essas informações que serão impressas, e importo somente a coluna "E" da linha 4 até a ultima linha preenchida para dentro da planilha Destino (que tem varias abas a serem escolhidas antes de importar), para concluir este projeto falta apenas fazer essa cópia de uma para outra.

Lembrando que este é o meu primeiro código em VB, tenho experiência em C,C++,C# porém em VB é a primeira vez.

As linhas em destaque são as linhas que dão o erro, se eu colocar a linha de baixo no lugar da de cima o erro vai para de cima.

o código é o seguinte:
Private Sub CheckBox1_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox1.Caption
ref = CheckBox1.Caption
End Sub

Private Sub CheckBox10_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox10.Caption
ref = CheckBox10.Caption
End Sub

Private Sub CheckBox11_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox14.Caption
ref = CheckBox11.Caption
End Sub

Private Sub CheckBox12_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox12.Caption
ref = CheckBox12.Caption
End Sub

Private Sub CheckBox13_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox13.Caption
ref = CheckBox13.Caption
End Sub

Private Sub CheckBox2_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox2.Caption
ref = CheckBox2.Caption
End Sub

Private Sub CheckBox3_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox3.Caption
ref = CheckBox3.Caption
End Sub

Private Sub CheckBox5_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox5.Caption
ref = CheckBox5.Caption
End Sub

Private Sub CheckBox6_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox6.Caption
ref = CheckBox6.Caption
End Sub

Private Sub CheckBox7_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox7.Caption
ref = CheckBox7.Caption
End Sub

Private Sub CheckBox8_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox8.Caption
ref = CheckBox8.Caption
End Sub

Private Sub CheckBox9_Click()
TextBox6.Text = " "
TextBox6.Text = CheckBox9.Caption
ref = CheckBox9.Caption
End Sub

Private Sub CommandButton3_Click()
TextBox6.Text = "Anilha Selecionada"

End Sub

Private Sub CommandButton4_Click()
Dim xl As New Excel.Application
Dim xlw As Excel.Workbook
Dim Origem As Worksheet
Dim Destino As Worksheet

Workbooks.Open Filename:="C:Userssilvio_enyediDocumentsSistema de Identificação - Anilhas - Para testes.xls"

caminho = Application.GetOpenFilename

Set Destino = Workbooks("Sistema de Identificação - Anilhas - Para testes.xls").Worksheets(ref)
Set Origem = Workbooks(caminho).Worksheets(aba)

Set xlw = xl.Workbooks.Open(Application.GetOpenFilename)
xlw.Sheets(aba).Select
MsgBox (ref)
With Origem
.Range("E4:E8").Copy Destination:=Destino.Range("B2")
End With
End Sub

Private Sub CommandButton5_Click()
End
End Sub

Private Sub TextBox1_Change()

End Sub

Private Sub TextBox6_Change()

End Sub

Private Sub UserForm_Activate()
TextBox1.Text = "Selecione o Arquivo"
TextBox6.Text = "Anilha Selecionada"

End Sub

 
Postado : 30/04/2015 8:52 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!

A variável ref não foi declarada no procedimento e a atribuição de valor está em outros procedimentos.
Portanto, no momento da utilização o erro ocorre pois ela não tem valor atribuído, pois isto ocorreu fora do escopo do procedimento.
Uma opção seria declará-la como variável global (prática condenada por muitos).
Não encontrei a atribuição do valor à variavel aba.

Abraço

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 30/04/2015 10:13 am
(@silviobaco)
Posts: 2
New Member
Topic starter
 

Esta variáveis ja estão como globais e este problema ja esta resolvido pois como se trata de checkbox tem que verificar se ele esta ticado.

Porém eu encontrei o erro e ja esta resolvido, porém muito obrigado pela ajuda.

 
Postado : 30/04/2015 11:41 am