Notifications
Clear all

Método Select

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

Galera é o seguinte..

Estou com uma planilha e um form VBA criado, porém o que acontece criei um botão que chama meu formulário, porém ao preencher os dados e clicar no botão salvar. Ele apresenta o erro.. Erro em tempo de execução '1004': O método select da classe Range falhou. O que faço para corrigir?

A minha planilha tem várias páginas e o form só funciona quando estou na página onde os dados serão inseridos. Segue o código.

Private Sub cmdSalvar_Click()

Plan14.Range("D10").Select ' Selecione a celula D10

Do

        If Not (IsEmpty(ActiveCell)) Then   ' Se a celula não estiver vazia
            ActiveCell.Offset(1, 0).Select  ' Selecione a celula abaixo
    
        End If  ' Fim da condição se
    
    Loop Until IsEmpty(ActiveCell) = True   ' Faça isso até a celula selecionada ser vazia.

    ActiveCell.Offset(0, 0).Value = txtAsset1.Text
    ActiveCell.Offset(0, 1).Value = txtHostname.Text
    ActiveCell.Offset(0, 2).Value = cbxVirtual.Text
    ActiveCell.Offset(0, 3).Value = cbxDomain.Text
    ActiveCell.Offset(0, 4).Value = txtUser.Text
    ActiveCell.Offset(0, 5).Value = cbxType.Text
    ActiveCell.Offset(0, 6).Value = cbxMarca1.Text
    ActiveCell.Offset(0, 7).Value = cbxModelo1.Text
    ActiveCell.Offset(0, 8).Value = cbxPlace.Text
    ActiveCell.Offset(0, 9).Value = cbxDepartamento.Text
    ActiveCell.Offset(0, 20).Value = txtSerial1.Text
    ActiveCell.Offset(0, 22).Value = cbxStatus1.Text
    ActiveCell.Offset(0, 25).Value = txtLastUser.Text
    ActiveCell.Offset(0, 10).Value = cbx1.Text
    ActiveCell.Offset(0, 11).Value = cbx2.Text
    ActiveCell.Offset(0, 12).Value = cbx3.Text
    ActiveCell.Offset(0, 13).Value = cbx4.Text
    ActiveCell.Offset(0, 14).Value = cbx5.Text
    ActiveCell.Offset(0, 15).Value = cbx6.Text
    ActiveCell.Offset(0, 16).Value = cbx7.Text
    
        
End Sub
 
Postado : 18/04/2017 1:04 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Coloque:

Plan14.Select

Antes de:

Plan14.Range("D10").Select 

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

 
Postado : 18/04/2017 1:09 pm
(@taiuanasc)
Posts: 3
New Member
Topic starter
 

Fernando, funcionou valeu mesmo!!

Uma dúvida, neste form eu tenho dados que serão colocados em paginas diferentes, é só indicar o select que nem vc me passou no meu código?

 
Postado : 18/04/2017 1:12 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sim... numa codificação mais adequada, vc não deveria depender da planilha ativa... é possível fazer e manipular conteúdos de células, independentemente da planilha ativa... mesmo com a planilha oculta, é possível escrever nela...
Mas num primeiro momento, essa linha resolve seu problema...

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

 
Postado : 18/04/2017 1:14 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não esqueça de marcar o tópico como resolvido...
E se me permitir, posso usar sua dúvida num video pro meu canal?

Esse assunto é importante, e uma dúvida do forum é um bom ponto de partida para o tópico...

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

 
Postado : 18/04/2017 1:16 pm
(@taiuanasc)
Posts: 3
New Member
Topic starter
 

Claro que pode!! Serei o primeiro a assistir o video.

 
Postado : 18/04/2017 1:31 pm