Condividi:        

[Excel] Errore 1004 in una macro

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] Errore 1004 in una macro

Postdi apollo » 30/06/06 12:00

Aiuto ho un problema in un foglio di excel debbo inserire dei dati (nome, cognome,indirizzo) mediante un pulsante situato su un'altro foglio,
A1 COGNOME1-B1 NOME1-C1 INDIRIZZO1
A2 COGNOME2-B2 NOME2-C2 INDIRIZZO2
A3 COGNOME3-B3 NOME3-C3 INDIRIZZO3

gli faccio trovare l'ultima riga occupata poi mi posiziono sulla riga successiva, questo va bene se la cella attiva nel momento in cui premo il pulsante è A1 o A2, Il codice che ho scritto sul click del pulsante
Codice: Seleziona tutto
Private Sub TastoConferma_Click()
    Sheets("RILP").Select
    Range("A4:F4").Select
    Selection.Copy
    Sheets("calcolo").Select
    Range("A1").Select
    Selection.End(xlDown).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("A2").Select
    Application.CutCopyMode = False
    'Selection.End(xlUp).Offset(1, 0).Select

    Sheets("RILP").Select
    Application.CutCopyMode = False
    Range("B4").Select
    Selection.ClearContents
    Range("C4").Select
    Selection.ClearContents
    Range("B4").Select
TastoConferma.Visible = False
End Sub

mi da un errore di Run-Time '1004'
ERRORE NEL METODO SELECT PER LA CLASSE RANGE
premendo debug mi evdenzia
la seguente riga : Range("A1").Select

chi mi sa aiutare sono disperato su altri file la stessa macro mi funziona perchè qui non va
Apollo-Rino
apollo
Utente Junior
 
Post: 12
Iscritto il: 30/06/06 08:49
Località: Mercogliano

Sponsor
 

Postdi Alexsandra » 30/06/06 13:57

Così funziona
Codice: Seleziona tutto
Sub TastoConferma_Click()
Sheets("RILP").Select
Range("A4:F4").Select
Selection.Copy
Sheets("calcolo").Select
Range("A1").Select
Selection.End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A2").Select
Application.CutCopyMode = False
'Selection.End(xlUp).Offset(1, 0).Select

Sheets("RILP").Select
Application.CutCopyMode = False
Range("B4").Select
Selection.ClearContents
Range("C4").Select
Selection.ClearContents
Range("B4").Select
'TastoConferma.Visible = False
End Sub
ti può generare un errore quì
Codice: Seleziona tutto
Selection.End(xlDown).Offset(1, 0).Select
solo se il foglio è vuoto per il resto ho provato il codice e funziona.

Attenzione all'inizio l'uso di "Private Sub" và fatto all'interno di un modulo richiamata da una macro visibile, io per provare il codice ho tolto il Private e il rem che vedi alla fine sul nome del pulsante lo puoi lasciare se quello è il nome del tuo pulsante

PS. La prossima volta ricordati che codici e tabelle vanno inseriti tramite il pulsante Code
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

errore 1004

Postdi apollo » 30/06/06 15:36

non funziona come mai, mi da anche a volte un'altro errore sempre run-time 1004 'ERRORE DEFINITO DALL'APPLICAZIONE O DALL'OGGETTO'
Aiutami
apollo
Utente Junior
 
Post: 12
Iscritto il: 30/06/06 08:49
Località: Mercogliano

Postdi Alexsandra » 30/06/06 15:54

posta come fai a richiamare questa sub.
dove l'hai messa in un modulo? perchè Private? da dove la richiami e su che riga ti manda l'errore
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

ERRORE 1004

Postdi apollo » 30/06/06 17:50

Come posso fare per postarti il file?
apollo
Utente Junior
 
Post: 12
Iscritto il: 30/06/06 08:49
Località: Mercogliano

Postdi Alexsandra » 30/06/06 19:21

Spiegami cosa devi fare col foglio RILP.
data una matricola estrai i dati in anagrafica e li metti in RILP clicchi su entrata e vedo quello che fà,a cosa ti servono i dati nelle colonne da E a P.

Poi il foglio calcolo a cosa ti serve come archivio?
adesso la macro funziona ma scrive i dati sbagliati nel foglio calcolo.

Meglio che spieghi come deve funzionare il file.
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

errore 1004

Postdi apollo » 30/06/06 21:21

Col foglio RilP debbo inserire data-matricola-nominativo-qualifica-orario, almeno per adesso altre informazioni forse in un secondo tempo. La procedura prevede l'inserimento della matricola, dopo di che l'attivazione dei tasti entrata e uscita, alla pressione di uno dei tasti viene inserita nella cella verso una E oppure una U, quindi viene attivato il tasto conferma che alla sua pressione inserisce nel foglio calcolo i dati sopra citati, per poi fare i calcoli necessari (ritardi, permessi e altro). Alla fine nel foglio RilP si puliscono le celle della matricola, del verso e dell'ora, si disattivano i tasti entrata uscita e conferma. Sto pensando anche la possibilità di caricare i dati relative alle uscite e all'entrate per la pausa pranzo, questi pulsanti si dovranno attivare solo se nel foglio anagrafica in corrispondenza della matricola scritta nella colonna pausa Si/No c'è una S.
Spero di essere stato chiaro e ancora ti ringrazio per l'aiuto che mi stai dando.
Grazie
Apollo-Rino
apollo
Utente Junior
 
Post: 12
Iscritto il: 30/06/06 08:49
Località: Mercogliano

Postdi Anthony47 » 01/07/06 01:06

Non so se la discussione e’ andata avanti rispetto a quanto postato, provo lo stesso a dare un suggerimento, nell’ ipotesi che sia ancora presente l’ errore 1004:
Usa questa singola istruzione invece delle 2 istruzioni posizionate sotto Sheets("calcolo").Select
Codice: Seleziona tutto
    Range("A1").End(xlDown).Offset(1, 0).Select


Oppure, invece del metodo “Select” usa “Activate”, cioe’
Codice: Seleziona tutto
Range("A1").Activate


Ciao,
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Alexsandra » 01/07/06 07:27

Sono giuste le tue osservazioni Antony ma nel file che mi ha inviato apollo ci sono altri errori.

@apollo

1) nei vari eventi del foglio (Worksheet) puoi mettere il codice relativo a ogni singolo evento(Worksheet Change,Selection Change etcc...) ma lasciare tutto il procedimento non è l'approccio giusto.
devi creare un nuovo modulo e inserire lì il codice inserendo una nuova macro.
La stessa macro la puoi richiamare da un evento Worksheet al variare di una determinata condizione.
2) nel foglio RIPL è abbastanza limitata la funzione che richiami l'anagrafica in quanto usi una formula e identifichi un intervallo ben preciso,in caso di nuovi elementi che puoi aggiungere ti verranno esclusi.
dovresti creare un intervallo e lavorare su quello.
Questo intervallo (creazione e aggiornamento) và messo nel foglio in questione(anagrafica) e nell'evento Worksheet (Activate o Deactivate)
3) il calcolo dell'ultima riga come lo hai impostato ti genera un errore (vedi primo quote di Antony)
etc.....
Ti sistemo il file visto che è limitato a poche funzioni,per implementare le altre eventualmente posta quello che intendi fare che ne discutiamo quì

ciao
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

errore 1004

Postdi apollo » 05/07/06 23:25

Ciao Alexsandra, scusami se ti importuno, hai per caso modificato il file se si me lo puoi postare? Grazie.
Apollo-rino
apollo
Utente Junior
 
Post: 12
Iscritto il: 30/06/06 08:49
Località: Mercogliano

Postdi Alexsandra » 06/07/06 07:30

Si l'ho fatto,mi rimane solo la scrittura nel foglio "calcolo" nel tuo codice c'è un errore nel calcolo della 1° riga penso in serata di trasmetterti il tutto.

ciao
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi Alexsandra » 06/07/06 19:03

Ho messo il file Quì manca ancora la routine di scrittura nel foglio calcolo,caso mai ti posto il codice appena fatto
Vedi se ti può andare bene.
ciao
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Errore 1004

Postdi apollo » 07/07/06 14:42

Ciao Alexsandra ho scaricato il file ma premo un pulsante esece un errore "impossibile accedere al file", poi nella cella del verso esce l'ora e nella cella dell'ora esce un ora fissa, mi sai dire dove sbaglio.
Grazie Apollo-Rino
apollo
Utente Junior
 
Post: 12
Iscritto il: 30/06/06 08:49
Località: Mercogliano

Postdi Alexsandra » 08/07/06 14:22

Ti ho postato il file in cui ho fatto le prove per mettere a posto la sola grafica e non quello con le macro :oops: :oops:
Vedo ora che hai scritto dell'ora fissa, io non avevo pensato di fare un orologio e ho messo l'ora fissa (Rilanciavo la macro per aggiornare l'orario quando cliccavi su registra) se ti fà più comodo l'orologio ti faccio questa modifica e poi ti posto il file

PS. Scusami per il file ma devo mettere un pò di ordine nella cartella altrimenti faccio un pò di confusione :D :D
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

errore 1004

Postdi apollo » 08/07/06 18:41

Ciao sei gentilissima e disponibile,
si se metti l'orologio sarebbe magnifico. Non ti preoccupare fai con comodo, attendo in attesa della partita dell'Italia.
Ciao
Apollo-Rino
apollo
Utente Junior
 
Post: 12
Iscritto il: 30/06/06 08:49
Località: Mercogliano

Postdi Alexsandra » 08/07/06 19:18

Ok. è quasi finito,conto di finirti la procedura domani.

Ne approfitto per ........

FORZA AZZURRI
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi Alexsandra » 10/07/06 19:39

Ho visto dai post che hai messo in altri topic che non sei uno sprovveduto con Excel e allora ho pensato di postarti il file anche se manca ancora qualcosa e poi lo completiamo assieme.
Adesso hai l'orologio che si aggiorna da solo,il salvataggio nel foglio calcolo è a posto.
mancano le ruotine per nascondere i tasti come avevi tu prima e la scritta del ritardo che facevi comparire quando cliccavi su Entrata.
Guardati il file allegato e poi ne parliamo assieme per completarlo.
ciao

PS. guarda che non ho usato formule, entra nell'editor e vedi come ho messo le procedure.

http://freefilehosting.net/?id=pdD9ka7Z
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Errore 1004

Postdi apollo » 10/07/06 23:28

Ciao come al solito sei precisa e brava, si uso excel abbastanza bene con le formule riesco a fargli fare quasi tutto, il quasi è d'obbligo perchè a volte debbo usare il VBA che conosco poco. Comunque ho visto le tue routine e sto aumentando il mio sapere sul VBA.
Adesso mi da solo l'errore quandro premo il tasto conferma, mi chiede il file calendario_alex.xls che io non ho.
Ti saluto e ancora un grazie per l'aiuto che mi stai dando.
Apollo-Rino
apollo
Utente Junior
 
Post: 12
Iscritto il: 30/06/06 08:49
Località: Mercogliano

Postdi Alexsandra » 11/07/06 07:51

perchè quel pulsante l'ho preso da un file che avevo fatto per la gestione del calendario calcistico ed era associato ad una macro presente su altro file.
Fai clik col Dx sopra al pulsante e scegli la macro a cui vuoi abbinare il pulsante.
Se guardi col tasto Entrata faccio subito la scrittura nel foglio calcolo,puoi andare nell'editor di vba e modificare la macro lasciando solo la scrittura nel campo "Verso" ,poi fai apparire il pulsante "Conferma" e nella macro del pulsante mettere il resto della macro che è nel pulsante entrata.

In sostanza crei una nuova macro (sub conferma ()) e copia tutto il codice che trovi nel pulsante Entrata, togli la parte iniziale in cui viene scritto il campo verso e lasci il resto,nel pulsante Entrata fai il contrario,lasci il codice in cui scrivi nel campo verso e metti il codice per mostrare il pulsante conferma.

Tutto chiaro ?? :D mi sono spiegata da cani ma credo che tu abbia capito.
ciao
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

errore 1004

Postdi apollo » 11/07/06 12:04

Tutto chiaro modifico e ti farò sapere, ti rispondo dall'ufficio per cui ti aggiornerò stasera ciao
Rino
apollo
Utente Junior
 
Post: 12
Iscritto il: 30/06/06 08:49
Località: Mercogliano


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Errore 1004 in una macro":


Chi c’è in linea

Visitano il forum: Gianca532011 e 79 ospiti