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

Erro 1004


D4N1LL0

Pergunta

:blink:

Alguma coisa assim, o código Range não está funfando, como sou iniciante queria a ajuda d vocês que já tem PHD nisso hehe =D.

O projeto está anexado, isso e um projeto de uma apostila bem legal de um progama de instrumentos musicais, so que ele não explica detalhadamente. O codigo está ai :

Private Sub LControle()

RA = Range("RA")

NR = Range("NR")

OP = Range("OP")

End Sub

e esse também>

Private Sub GControle()

Range("RA") = RA

Range("OP") = OP

O usuario é Danillo e senha 123

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

O erro diz alguma coisa a respeito da Propriedade Range. Esta dando erro para colocar o arq pra dl mas ai esta o link:

http://www.forumweb.com.br/foruns/index.ph...pe=post&id=2263

O que você quer fazer exatamente com aquelas três linhas com o Range? Deveria haver um referência para um objeto do Excel ali, e não somente a função. Range serve para você se referir a uma determinada célula (ou um conjunto de células) de uma planilha, mas cadê a planilha no caso?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Estou tão confuso quanto você uaeuha. Estava montando um projeto que vem em uma apostila, mas vem tudo sem detalhes, e como eu sou iniciante não aprimorei muito ela, estava so tentando fazer igual da apostila como fixaçao e então começou esses erros, acabando a apostila servindo para nada. Tem como voce ir ageitando o projeto e divulgando o que seria correto fazer , sei la , ficaria muito grato. Ou para não achar que quero usar você apenas explicar melhor esse negocio de referencia ao "Range" .

Bom , tem um arquivo no C:/Dados.xls se não me engano que me referi no Form_Activate. já me falaram que tenho que usar o Module mas são tantos coisas que me dizem para arrumar esse Range xato que já estou confuso e o que eu achei que estava aprendendo , confundi + ainda. Quero tentar arrumar esse Codigo pois acho que o da apostila e de uma verçao desatualizada

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, de fato falta um arquivo chamadao Dados.xls que é requerido. Mas, vamos ao caso do Range. Acho que com um exemplo é mais fácil de explicar. Portanto, crie um novo projeto no VB e coloque um o seguinte no evento Click de um botão no form:

    Set excel = CreateObject("Excel.Application")
    Set pasta = excel.WorkBooks.Add()
    Set planilha = pasta.WorkSheets("Plan1")
    
    planilha.Range("A2").Value = 2
    planilha.Range("A3").Value = 5
    
    excel.Visible = True
    
    MsgBox planilha.Range("A3").Value
Execute e clique no botão. Você verá que o Excel será aberto, uma nova pasta de trabalho será criada e as células A2 e A3 da Plan1 serão preenchidas. Note que o preenchimento é aqui...
    planilha.Range("A2").Value = 2
    planilha.Range("A3").Value = 5

... e como você pode ver, eu estou efetivamente chamando o método Range de um objeto "planilha" que se refere a Plan1 na pasta de trabalho.

Sacou? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Ow , muito obrigado pela sua ajuda, eu estava pesquisando um poco por ai consegui criar o arquivo Dados.xls e ainda fiz o que voce me ensino ai, so que estou tendo problemas na hora de salvar um valor emitido por uma das caixa de texto, consegui fazer com que mostre um valor já salvo no Dados.xls mas na hora que tento salvar algum dado la salva na linha errada.

Por exemplo

EU apaguei tudo e comecei a codificar dinovo

Dim xl As New Excel.Application

Dim xlw As Excel.Workbook

Set xlw = xl.Workbooks.Open("C:\Dados.xls")

xlw.Sheets("Produtos").Select

Isso le o que tem no arq. mas queria saber como salvar la

Vlw , brigadao

Danillo

Link para o comentário
Compartilhar em outros sites

  • 0
Set xlw = xl.Workbooks.Open("C:\Dados.xls")

xlw.Sheets("Produtos").Select

Isso le o que tem no arq. mas queria saber como salvar la

Efetivamente, isso não "lê" o que está no arquivo, mas sim apenas abre o mesmo em uma instância do Excel. E para salvar esse mesmo arquivo aberto, bastaria fazer algo como:

xlw.Save

Existe também o método SaveAs (que é o equivalente ao "Salvar Como...").

Certo? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

pois é, esse xlw.save ou saveAs da um erro dizendo que o arquivo esta em uso e não pode ser alterado, ou melhor , que o arquizo e somente como leitura.Queria saber também sobre esse Fra_Dados, o que é isso ?? Outra coisa , como eu faria a propriedade range usando esse exemplo que eu postei acima?. Por acoso seria xlw.application.range("RA").value ?? e caso esteja errado como uso uma variavel nessa Range

vlw, brigadao e desculpa por tantas perguntas

Danillo

Link para o comentário
Compartilhar em outros sites

  • 0

pois é, esse xlw.save ou saveAs da um erro dizendo que o arquivo esta em uso e não pode ser alterado, ou melhor , que o arquizo e somente como leitura.

Provavelmente o arquivo está ficando aberto da primeira vez que você o utiliza. Você deveria chamar o método Quit do Excel.Application para fechar completamente o Excel (e os arquivos utilizados por ele).

Queria saber também sobre esse Fra_Dados, o que é isso ??

Onde você viu isso?

Outra coisa , como eu faria a propriedade range usando esse exemplo que eu postei acima?. Por acoso seria xlw.application.range("RA").value ?? e caso esteja errado como uso uma variavel nessa Range

Poderia ser:

xlw.Sheets("Produtos").Range("RA").Value = valor

Onde "RA" é a célula e o valor é uma variável com o valor a ser colocado na célula.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Queria saber também sobre esse Fra_Dados, o que é isso ??

Onde você viu isso?

Nesse mesmo projeto, algumas vezes ele tem um code Fra_Dados.Enabled , acho que é um formulario que utiliza para algum fim , mas dexa pra la , você já me ajudo muito e consegui resolve os problemas ak , está funcionando beleza , so tem algums erros de matematica ak mas já já consiguo arrumar.

Vlw , Brigadao mesmo

Danillo

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --cesar_vip --

Mensagem de Erro:

"

Erro em tempo de execução '1004':

O método 'Range' do objeto '_Global' falhou

"

Pelo visto o erro ocorre abaixo:

Private Sub LControle()

RA = Range("RA")

NR = Range("NR")

OP = Range("OP")

End Sub

Private Sub GControle()

Range("RA") = RA

Range("OP") = OP

End Sub

Eu sei que onde é Range("XX") preciso substituir por:

RA = Registro Atual

NR = Número de Registros

OP = Opção

Mas como realizar essa substituição ?

O código completo e como montar encontra-se no site:

http://www.macoratti.net/vba_cum.htm

Grato

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --cesar_vip --

Então, quando rodo com F8 ele inicia em:

Private Sub UserForm_Activate()

Depois chama:

LControle

Cai em:

Private Sub LControle()

E apresenta o erro em:

RA = Range("RA")

O erro está nesse "RA" que teria que substituir pelo Registro Atual.

RA é declarado antes do código como integer.

"

Dim RA As Integer, NR As Integer, OP As String

"

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Pessoal,

Eu consegui resolver esse erro do tal RA=Range("RA").

O que acontece é que no artigo não diz como tem que estar a planilha.

O que ocorre é o seguinte:

Precisa conter duas planilhas: LOGIN, e a outra DADOS.

Na Planilha LOGIN, na célula A1, coloque um nome qualquer de usuário. Na célula B1, coloque uma senha.

Na Planilha DADOS precisa conter os seguintes dados:

A1 = Codigo, B1= Instrumento, C1 = Tipo, D1 = Marca, E1 = Preço, F1 = Quantidade, G1 = Observações

A resolução do tal Range está aqui:

I1 = 1

J1 = =(CONT.VALORES(A:A)-1)

K1 = Navegando

No entanto, voce precisa renomear as células I1 para RA; a célula J1 para NR e K1 para OP.

Espero ter ajudado. Caso não consigam, eu tenho esta planilha certinha.

qualquer coisa me mandem um e-mail que eu envio de volta. (junkerinha@hotmail.com)

Att.

Sarita

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...