|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Mar 2007
Città: Cremona
Messaggi: 152
|
Excel - formula magica parte 2^
![]() ![]() ![]() Caro Marco GG, se ci sei batti un colpo ! Ho ancora bisogno di te o di chiunque possa aiutarmi: come mai creando un nuovo file e facendo il copia incolla dell'elenco comandi in visual basic per il commandbutton1 mi da' errore? Ovvero : io creo un nuovo foglioda 6 etichette con altri dati, creo il CommanButton1 e al suo interno vado a copiare l'elenco dei comandi che mi hai postato l'ultima volta. Nel chiudere però mi esce questo avviso: Errore di compilazione: Rilevato nome non univoco: CommandButton1_Click. E in più mi seleziona la scritta Private Sub CommandButton1_Click. Cosa significa? Devo forse rinominarlo? Ci ho provato ma senza risultato. Puoi aiutarmi ancora? Grazie. ![]() ![]() ![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Dovresti essere più chiaro... Non ci ho capito molto...
![]() Cioè, l'errore si genera quando tenti di copiare un CommandButton da un foglio all'altro ? O quando esegui la Macro sotto il nuovo pulsante ? In Excel posso tranquillamente avere, ad esempio, un CommandButton1 su Foglio1 e un CommandButton1 su Foglio2, senza problemi... Posta pure il foglio incriminato, se vuoi... |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Aspetta, forse ho già capito
![]() Hai preso la mia routine, incluso l'evento click, e l'hai messa sotto il nuovo pulsante... In questo modo hai nidificato 2 Sub con lo stesso nome ! Codice:
Private Sub CommandButton1_Click() Private Sub CommandButton1_Click() 'mio codice... End Sub End Sub |
![]() |
![]() |
#4 |
Member
Iscritto dal: Mar 2007
Città: Cremona
Messaggi: 152
|
Ciao, ti posto il file incriminato.
|
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Esattamente come pensavo.
Hai dichiarato 2 volte Private Sub CommandButton1_Click(). Cancella tutto dopo "End Sub"... ![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Mar 2007
Città: Cremona
Messaggi: 152
|
Ho tolto tutto come mi hai detto. Ma come mai mi crea
2 strisce di comandi se prima di incollare cancello tutto?. Comunque: sono uscito da modalità progettazione, ho rilanciato la stampa: mi stampa 3 fogli con gli stessi numeri da 1 a 6 anzichè da 1 a 18. Perchè?. Scusa se non sono immediato nelle risposte ma oggi in ufficio ci sono un paio di clienti esteri che stanno facendo perdere la testa: sto facendo 20 cose contemporaneamente ! Attendo cmq tua risposta grazie. Ciao. |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
No, forse non mi son spiegato... Tu mi hai mandato questo :
Codice:
Private Sub CommandButton1_Click() Dim MIN As Long MIN = 1 Dim MAX As Long MAX = 18 Dim NumPerPag As Long NumPerPag = 6 Dim i As Long i = 1 Range("C11").FormulaR1C1 = i ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True For i = (MIN + NumPerPag) To MAX If ((i - 1) Mod NumPerPag) = 0 Then Range("C11").FormulaR1C1 = i ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End If Next i End Sub Private Sub CommandButton1_Click() Poi, quando crei un button in modalità progettazione e fai doppio-Click entri nel codice, e noterai che VBA editor ti ha già predisposto la dichiarazione : Codice:
Private Sub CommandButton1_Click() End Sub Codice:
Dim MIN As Long MIN = 1 Dim MAX As Long MAX = 18 Dim NumPerPag As Long NumPerPag = 6 Dim i As Long i = 1 Range("C11").FormulaR1C1 = i ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True For i = (MIN + NumPerPag) To MAX If ((i - 1) Mod NumPerPag) = 0 Then Range("C11").FormulaR1C1 = i ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True End If Next i ![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Mar 2007
Città: Cremona
Messaggi: 152
|
Puo' anche essere
![]() Ma come ti dicevo, prima di incollare e subito dopo aver creatro il pulsante ho cancellato le scritte : Private Sub CommandButton1_Click() End Sub e incollato tutto il tuo contenuto. Ho provato anche a eliminarlo, crearlo nuovamente, ma nel momento in cui klikko sul pulsante per editarlo mi appare già tutto il contenuto come se tenesse in memoria negli appunti il contenuto del pulsantes stesso. Cmq sia, ho fatto come mi hai detto tu, copiando solo le informazioni senza quelle su strisce di comando, risultato: lo stesso, stampa i fogli sempre con gli stessi numeri; ho aggiunto allora le ultime due strisce ovvero : Private Sub CommandButton2_Click() End Sub precedute da una riga orizzontale che occupa tutta la larghezza della schermata. Solo a questo punto stampa correttamente tutti i numeri in successione e in modo progressivo. Ho notato che nella 1^ versione qndo klikki sul pulsante per stampare, i numeri a video (1,2,3 4,5,6) diventano quelli dell'ultima pagina stampata , nel 2 caso rimangono fissi. Scusami ma come ti dicevo nella 1^ puntata non conosco VBA e per me non è così facile capire .... anche se si tratta poi alla fine di un "semplice ![]() ![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Strana cosa...
![]() In ogni caso, hai risolto. ![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:26.