Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#51495
Bom dia,
Sou iniciante no VBA e domino pouco o excel. Fui me aventurar e agora estou com um erro frequente.... Poderiam me ajudar?
Estou com um problema com o meu cadastro, esta aparecendo um erro. Estou enviando a descrição abaixo:
A mensagem de erro que aparece é: Erro em tempo de execução '-2147417848 (80010108)': O método '_Default' do objeto 'Range' falhou

Esse erro aparece na terceira repetição para salvar o preenchimento do formulário na planilha. Na linha Cells(totalregistro, 1) = txt_in_codigo

O código que estou usando é:

Private Sub bt_in_salvar_Click()

'referenciando a planliha

Set infra1 = Worksheets("pl_infraestrutura")

'abaixo está criada a avariavel total de registros onde irá armazenar a quantidade de linhas que foram utilizadas e somando +1 vai para que será preenchida
totalregistro = Worksheets("pl_infraestrutura").UsedRange.Rows.Count + 1
Worksheets("pl_infraestrutura").Select

txt_in_data = Date
txt_in_time = Time

'código para geração de ID automática codificação automatica dos cadastros.
Dim contador As Integer
Dim linha As Integer
linha = 2
Range("a1048576").Select

Selection.End(xlUp).Select
If ActiveCell = "id" Then
contador = 0
Else
contador = ActiveCell.Value
End If

contador = contador + 1
txt_in_codigo = contador

'apartir daqui começa a gravação dos dados
Cells(totalregistro, 1) = txt_in_codigo
Cells(totalregistro, 2) = txt_in_data
Cells(totalregistro, 3) = txt_in_time
Cells(totalregistro, 4) = txt_in_usuario_logado
Cells(totalregistro, 5) = cx_in_tipo_area
Cells(totalregistro, 6) = cx_in_modalidade
Cells(totalregistro, 7) = cx_in_valor_m2
Cells(totalregistro, 8) = cx_in_ref

'mensagem de gravação concluída
MsgBox "Dados gravados com sucesso"

'limpar dados das caixas
cx_in_tipo_area = ""
cx_in_modalidade = ""
cx_in_ref = ""
cx_in_valor_m2 = ""
txt_in_responsavel = txt_in_usuario_logado
txt_in_codigo = ""
txt_in_data = ""
txt_in_time = ""

'colocar o cursor na caixa nome
cx_in_tipo_area.SetFocus

'código para geração de ID automática (codificação automatica dos cadastros. Não registra na planilha, apenas mostra o cídogo no formulario.
contador = contador + 1
txt_in_codigo = contador

'aparecer a data após finalizar o salvamento
txt_in_data = Date
txt_in_time = Time

totaldelinhas = Worksheets("pl_infraestrutura").UsedRange.Rows.Count
cx_in_localizar.RowSource = "pl_infraestrutura!e2:e" & totaldelinhas
cx_in_localizar_codigo.RowSource = "pl_consumiveis!a2:a" & totaldelinhas

End Sub

Quando substituo o código "Cells (totalregistro, 1) = txt_in_codigo" por "Range (totalregistro,1) = txt_in_codigo" o erro passa a ser em tempo de execução '1004': o método 'Range" do objeto '_Global' falhou.

Espero que possam me ajudar! Obrigado!
#51506
Esqueci de dizer que o erro ocorre no linha de código Cells(totalregistro, 1) = txt_in_codigo

Talvez seja coincidência (ou talvez não) que transformei minha planilha em tabela e depois disso começou a dar o erro.
Pode ter sido isso? e como resolveria?

Obrigado abraço
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord